Antes de iniciar debes instalar las siguientes herramientas, evaluar tu código e identificar posibles mejoras.
Yo should develop a TODO App that includes the following features:
Num | Feature | Notes |
---|---|---|
1 | Users should login to the App | Clearance ó Devise/Omniauth |
2 | Users can create, read, update and delete (CRUD) lists of TODOs | |
3 | Users can CRUD tasks on a list | |
4 | Users can export their lists with their tasks to CSV and PDF files. | |
5 | Users can update their profile: name, email, description and photo | Photo must be uploaded, you could use ActiveStorage for this task |
7 | The app must include unit tests with Rspec |
Bonus
Num | Feature | Notes |
---|---|---|
1 | Users should receive weekly email including pending tasks | Using emails and BackgroundJobs with Sidekiq and Redis |
2 | The app must include integration tests with Capybara |
- Calidad
- Utilizar estilo de código definido por la comunidad (apoyarse en Rubocop)
- Pruebas unitarias
- Puntuación en Rubycritic: por lo menos 90 en la carpeta de la App y por lo menos 65 en la carpeta de pruebas
- Utilizar SandiMeter para analizar el código y utilizar el resultado para hacer mejoras
- Presentación correcta en las versiones más recientes de los principales navegadores: Edge, Chrome, Safari y Firefox
- Deployment
- Configuración de un servidor web (heroku o similar) para el deployment automático de actualizaciones de la app
- Configuración de un servidor de integración continua como Travis CI o Circle CI
- Frontend
- CSS: libertad para utilizar cuaquier framework o librería, preferentemente SASS
- Por ejemplo puedes utilizar Bootsrap junto con bootstrap_form para tus formularios
- CSS: libertad para utilizar cuaquier framework o librería, preferentemente SASS
En la carpeta img hay algunos ejemplos de interfaz que te pueden servir de inspiración para el diseño de la UI de tu App
- Ruby on Rails en el backend
- PostgreSQL como base de datos principal
- CSS: libertad para utilizar cuaquier framework o librería, preferentemente SASS
- Por ejemplo puede utilizar Bootsrap junto con bootstrap_form para tus formularios
- Javascript: libertad para utilizar cualquier framework o librería, preferentemente sin jQuery
- Framework para pruebas Rspec ó Minitest
- Código fuente en Github
- Debe incluir README con información sobre como configurar el proyecto
- Los commits de Git deben ser significativos
- Demo de la App correndo en heroku o similar
- Libertad para utilizar cualquier diseño, imágenes, etc, que considere necesarios y apropiados
En este elnace se describen los pasos necesarios para ejecutar/probar este proyecto, así como los integrantes de este equipo