- Somos una startup de jóvenes que desea hacer algo concreto por el cambio climático. Sabemos que no se puede hacer todo, pero que cada granito de arena suma.
- Cambios climáticos y efecto invernadero por la generación desmedida de residuos, desperdicio energético y contaminación.
- Nuestra idea es tener una plataforma en la que podamos publicar desafíos para que la gente haga y se sume y nos manden fotos de ellos haciendo los desafíos. Los que cumplan los retos, tendrán recompensas de empresas que nos acompañan. Queremos empezar con el desafío de crear un objeto o juego con todos materiales reciclados. Los participantes podrán subir una foto con una descripción de su uso y cómo funciona. Las fotos podrán recibir votos y entre los 10 participantes más votados, el sponsor elegirá al ganador. Nos interesa también tener una sección cuyo propósito sea generar conciencia en la que vayamos publicando contenido relevante y podamos anunciar las campañas.
- Los usuarios registrados deben poder sumarse a los desafíos, dejar evidencia de lo que han logrado (ej: fotos, videos, testimonios) y las empresas acompañantes deben poder acceder a cada campaña para poder decidir quiénes se llevan los premios. Los usuarios no registrados pero interesados en ser partícipes del movimiento contra la crisis climática podrán acceder a ver las campañas y noticias relacionadas a la temática.
- Como usuario puedo sumarme a una campaña y registrar mi desafío. También puedo eliminarlo, pero no puedo modificarlo una vez subido. Solo puedo publicar un desafío por campaña.
- Como usuario puedo votar otras publicaciones y hacer comentarios en las campañas.
- Como empresa auspiciante puedo ver los desafíos de los usuarios para seleccionar y publicar ganadores.
- Como administrador tengo acceso a modificar y dar de baja o alta campañas, publicaciones, noticias. Dar de baja/alta empresas, usuarios, bloggers. Eliminar comentarios.
En este proyecto se trabaja de la siguiente manera: Las ramas developer-"Nombre del desarollador" para agregar las funcionalides, algoritmos y configuraciones principales en la etapa de desarrollo, developer para agregar las configuraciones que se requiera al hacer el despliegue de la aplicación y el main para que reuna todos los cambios de las ramas anteriores.
- Java
- Spring Boot para facilitar el desarrollo de aplicaciones Spring.
- Spring Security para el manejo de seguridad y autenticación para aplicaciones Spring
- Lombok para simplificar el código Java mediante anotaciones.
- Java mail sender para envío de correos electrónicos desde Java.
- MySQL JDBC driver para la conexión a la base de datos MySQL, con el fin de consultar y filtrar datos.
- Thymeleaf como motor de plantillas para generar vistas HTML dinámicas
- AJAX: para realizar peticiones asíncronas y agregar interactividad dinámica.
- Frontend: HTML, CSS, Bootstrap, JavaScript.
- Registro y Login con Spring Security
- Roles distintos para los usuarios
- Tablas para visualizar datos. Controles para modificar, dar alta/baja, cambiar roles. Filtros (fecha, altas o bajas)
- Carga y actualización de imagen
- Querys de búsqueda personalizada
- CRUDS completos en todas las entidades
- Motor de búsqueda
- Vistas con th:fragments para reutilizar código
- Dashboard de administración
- Control y manejo de errores
- Accesos y autorizaciones funcionales