Skip to content

Latest commit

 

History

History
123 lines (99 loc) · 7.16 KB

File metadata and controls

123 lines (99 loc) · 7.16 KB

BrightCoders Logo

Denuncia ciudadana

cover

Photo by Koshu Kunii on Unsplash

Requerimientos

Una organización civil requiere de una aplicación web mediante la cual se puedan registrar y consultar denuncias ciudadanas

La aplicación web deberá complir con las siguientes funciones:

Registro de usuario

  • Permite a cualquier ciudadano registrarse proporcionando la siguiente información:
    • Usuario. Campo alfanumérico que permite identificar de manera única a cada persona registrada.
    • E-mail. Correo electrónico que sirve de contacto con el usuario.
    • Clave. Campo alfanumérico para la clave de acceso del usuario.

BONUS POINTS el e-mail debe ser verificado por algún mecanismo, por ejemplo, enviando algún código de confirmación al correo

Inicio de sesión

  • Permite a los usuarios registrados y al administrador iniciar sesión. Para iniciar sesión deberán capturar su e-mail y clave

Home

  • Inicio. Muestra un listado de las denuncias presentadas en los lugares de interés que el usuario tiene registrados, ordenado cronológicamente de la más reciente a la más antigua.
  • Configuración. Esta opción o pantalla permite al usuario:
  • cambiar su nombre de usuario.
  • cambiar su correo electrónico.
  • cambiar su clave de acceso.
  • agregar lugares de interés. Los lugares de interés se componen por los campos código postal y asentamiento.
  • Mis denuncias. Esta opción muestra un listado de las denuncias que se han presentado ordenadas cronológicamente de la más reciente a la más antigua.
  • Agregar denuncia. Esta opción permite agregar una nueva denuncia.

Inicio

El listado de la pantalla de inicio, muestra las denuncias presentadas en los lugares de interés aue el usuario tiene registrados, ordenado cronológicamente de la más reciente a la más antigua. La información que el usuario puede ver es:

  • Usuario que hizo la denuncia
  • Area
  • Título
  • Descripción
  • Evidencia(s)
  • Botón que permite otros usuarios manifestar su apoyo a esa denuncia (like)

Agregar denuncia

Permite agregar una nueva denuncia. Para agregar una denuncia el usuario deberá registrarse la siguiente información:

  • usuario [requerido] El usuario que realiza la denuncia, debe existir la opción de hacer denuncias de manera anónima
  • fecha de registro fecha en que se registra o publica la denuncia
  • fecha de hechos fecha en la que ocurrieron los hechos o denuncia
  • área [requerido] El área de la denuncia, por ejemplo, seguridad, servicios, infraestructura, etc. Se toman de un catálogo definido en la base de datos
  • titulo [requerido] [Un título que identifica a la denuncia
  • descripción [requerido] Descripción de los hechos o denuncia
  • ubicación [requerido] Dirección de los hechos o denuncia. Esta integrado por lo siguientes campos:
    • Estado[requerido]
    • Municipio [requerido]
    • Código postal [requerido]
    • Asentamiento[requerido]
    • Calle [no requerido]
    • Número [no requerido]
    • La información se toma de un catálogo almacenado en la base de datos el cual puede llenarse con información obtenida de esta página
  • evidancia Inageb que se agrega como evidencia. BONUS POINTS Permite agregar más de una imagen o documento PDF.

Mis denuncias

Permite ver un listado de las denuncias que el usuario ha registrado presentado ordenadas cronológicamente de la más reciente a la más antigua y le permite modificar o eliminar denuncias.

Requerimientos funcionales

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

Requerimientos no-funcionales

  • 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
  • Frontend
    • CSS: libertad para utilizar cuaquier framework o librería, preferentemente SASS
      • Por ejemplo puedes utilizar Bootsrap junto con bootstrap_form para tus formularios

Tecnologías

  • 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 puedes utilizar Bootsrap y junto con bootstrap_form para tus formularios
  • Javascript: libertad para utilizar cualquier framework o librería, preferentemente sin jQuery
  • Framework para pruebas Rspec ó Minitest

Entregable

  • 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

Setup

En este elnace se describen los pasos necesarios para ejecutar/probar este proyecto, así como los integrantes de este equipo

Enlaces

Encuentra aquí una lista completa de recursos de ayuda