Antes de iniciar debes instalar las siguientes herramientas, evaluar tu código e identificar posibles mejoras.
Foo Corp needs a system to control their employees attendance to their offices, they need full visibility of who went to work at what time and when they left. They need a webpage that will be opened in a tablet at the lobby of each branch, where the employee can go in and specify their private number and the system will record internally the time they checked in and the time they checked out.
The attendance web app must meet the following reuqirements:
-
Admin
- Admin portal protected with basic auth
- Manage employees (CRUD operations)
- Deactivate employees instead of deleting them
- Store: email, name and position, employee #, private number
- Manage Company branches (CRUD operations)
- Store: name, address
- Reports
- Attendance by day
- Average time employees checked in/out by month
- Absence report by month
-
Frontend
- Employee registration page
- Private number input screen
- Feedback to employee on successful/failed registration
- Employee registration page
- Rendimiento y escalabilidad
- Capáz de escalar de manera horizontal
- Aplicar la metodología de los 12 Factores
- Respuesta del servidor menor a los 200ms.
- Seguridad
- Cubrir las Top 10 vulnerabilidades OWASP (Opcional)
- Calidad
- Utilizar estilo de código definido por la comunidad (apoyarse en Rubocop)
- Pruebas unitarias
- Presentación correcta en las versiones más recientes de los principales navegadores: Edge, Chrome, Safari y Firefox
- Configuración de un servidor de integración continua como Travis CI o Circle CI
- Ruby on Rails en el backend
- PostgreSQL como base de datos principal
- CSS: libertad para utilizar cuaquier framework o librería, preferentemente SASS
- Javascript: libertad para utilizar cualquier framework o librería, preferentemente si 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
- Libertad para utilizar cualquier diseño, imágenes, etc, que considere necesarios y apropiados
- Cumplimiento de requerimientos funcionales
- Cumplimiento de requerimientos no funcionales
- Participación diaria de todos los integrantes del equipo
- Entrega dentro del tiempo establecido
En este elnace se describen los pasos necesarios para ejecutar/probar este proyecto, así como los integrantes de este equipo
Encuentra aquí una lista completa de recursos de ayuda
https://ancient-crag-11045.herokuapp.com/users/sign_in
User.create(email: '[email protected]', password: 'admin123')
https://ancient-crag-11045.herokuapp.com/users/sign_in
https://ancient-crag-11045.herokuapp.com/
https://ancient-crag-11045.herokuapp.com/admin/company_branches/new