Giter Club home page Giter Club logo

python31085's Introduction

Coderhouse, curso de python #31085

Entrega final

Revisiones:

  • Herencia en los templates // Implementado, hay un master.html que contiene el header, los mensajes, el explorador de categorias superior y los sitelinks. Todo lo demas se maneja a traves del block content.
  • manage.py duplicado
  • Clases basadas en vistas y mixin // AboutView(TemplateView), ProfilePage(DetailView)
  • Advertencia de que no existen categorías cuando recién arrancas la app sin db // Lo agregué, pero igual para evitar problemas le puse a la vista del index que si no encuentra al menos una categoría cree una por defecto, por lo que en teoría jamás deberías ver la advertencia.
  • RichTextBox con ckeditor
  • Nombre corto de las categorías como unique
  • App de accounts
  • Mail al registro
  • Perfil de usuario con nombre, avatar, descripcion, link a una pagina, email.
  • Acceso a una pantalla para que el usuario pueda modificar su informacion. Esta debe permitir modificar los datos nombrados en el punto anterior y, ademas, el password.
  • Mensajería

Consignas:

  • Link en github
  • README.md con ubicacion de funcionalidades o pasos a seguir para probar las cosas y los nombres de los integrantes del grupo
  • Nombre del repo "Entrega1+Apellidos"
  • Video explicativo de 10 min max (subido en el proyecto o cargado el link al mismo)
  • Herencia implementada en los templates
  • .gitignore con venv, pycache, .sqlite3, media/
  • Existencia del archivo requirements.txt actualizado
  • Rama principal main
  • Estructura de los archivos del proyecto:
    • accounts
    • inicio
    • mensajeria(?)
    • carpeta de configuraciones
    • templates
    • manage.py
    • gitignore
    • venv
    • db.sqlite3
    • requirements.txt
  • Clases definidas con PascalCase y funciones, paths, esas cosas con snake_case
  • Uso de un mismo idioma en todo el proyecto
  • Borrar todo codigo que no este en uso (imports, comments innecesarios)
  • No dejar botones y accesos sin funcionalidad
  • Minimo dos clases basadas en vista
  • Uso de minimo un mixin en una CBV y un decorador en una view comun
  • Adaptar template y vista cuando manejemos imagenes
  • Un home
  • Un 'acerca de nosotros' en el path 'about/'
  • 1 clase de post/blog/page con titulo, subtitulo, contenido // falta subtitulo
  • Acceso a una vista de listado de objetos con info minima de cada uno y que contenga un buscado por el titulo
  • En el listado deberia aparecer un cartel que diga que no hay objetos creados o que la busqueda no encontro ningun resultado con los datos proporcionados
  • Accesos a vistas para poder crear, editar y borrar un objeto.
  • Acceso desde el listado a cada post para ver la info completa del mismo
  • Tener una app "accounts" para manejar las vistas relacionadas a los usuarios // Lo manejo desde la app principal
  • Acceso a una pantalla de registro donde se solicite usuario, email y contraseña // no pido mail POR DISEÑO
  • Acceso a una pantalla de login
  • Acceso a una pantalla de perfil donde se muestre la informacion del usuario c/ nombre, avatar, descripcion, 1 link, email
  • Acceso a una pantalla para que el usuario pueda modificar su informacion
  • Apartado admin/ con toda la configuracion posible desde este apartado
  • App de mensajeria entre usuarios
  • Probar antes de hacer commits y no subir boludeces a github // fallé tremendamente en este

Cómo testear el proyecto:

  • Clonar el repositorio
  • Instalar las dependencias dentro de un entorno virtual con 'pip install -r requirements.txt'
  • Crear una cuenta de usuario con 'python manage.py createsuperuser'
  • Iniciar el servidor con 'python manage.py runserver'
    • Dentro del panel de administrador, crear como mínimo, una categoría con nombre, nombre corto y descripcion. Opcionalmente crear una segunda categoría para testear el flag 'nsfw'
    • Estando logueado, crear un post con titulo, contenido, imagen y categoria
    • Ver la categoría dentro de la que se creo el post
    • Ver el post dentro de la categoria, actualizar el post para incrementar el contador de visitas
    • Responder al post con un comentario, ver cómo se incrementa el contador de comentarios
    • Ver el apartado 'my profile'
    • Ver el apartado 'settings', testear sus funcionalidades (cambiar usuario, cambiar contraseña, eliminar todos los posts, eliminar cuenta)
    • Teniendo todavía posts en la db, ver el apartado 'search' y buscarlos ó por una palabra del título, o de su contenido, o el nombre de usuario público de quien lo haya creado
  • Opcionalmente, testear las funcionalidades de posteo y búsqueda estando deslogueado
    • Ver cómo los posts carecen de botón para editar o para eliminar
    • Intentar editar o eliminar un post que no sea suyo 'delete/int:post_id' ó 'edit/int:post_id'
    • Si la creamos, intentar ver una categoría 'nsfw'. La app redirecciona al login sin hacer uso de decoradores
    • Testear las pantallas de registro y login

python31085's People

Contributors

cyphersprojekt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.