Nexo es una SPA diseñada para ayudarte a crear, organizar y compartir planes con tus amigos. Ya sea que estés planeando una reunión, una actividad o cualquier otro tipo de evento, Nexo te permite crear planes personalizados, invitando a amigos a unirse. Además, puedes elegir si tu plan será público o privado para compartirlo con más personas o mantenerlo exclusivo.
Esta es una aplicación full stack que cumple con los requisitos técnicos especificados. La aplicación consta de un frontend desarrollado con React (Single Page Application - SPA) y un backend construido con Express.js, MongoDB y Mongoose. La aplicación implementa todas las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) para tres modelos de base de datos: Usuarios, Planes y Comentarios. Además, la aplicación incluye funcionalidades de autenticación (registro, inicio de sesión y cierre de sesión) con contraseñas encriptadas y autorización para usuarios registrados.
La aplicación está diseñada con un enfoque mobile-first, asegurando que sea completamente responsive y optimizada para dispositivos móviles. También se ha implementado validación en el backend y manejo centralizado de errores, proporcionando retroalimentación clara al usuario en caso de errores.
-
Crear plan:
- Agrega título, descripción, fecha y hora.
- Define la privacidad del plan (público o privado).
- Envía invitaciones a tus amigos por WhatsApp o enlace.
-
Unirse a planes:
- Explora planes públicos creados por otros usuarios.
- Únete a planes que se adapten a tus intereses.
-
Gestionar planes:
- Edita o elimina tus planes.
- Visualiza el estado de los planes y la lista de personas unidas.
- Comenta en los planes para interactuar con otros usuarios y compartir ideas.
-
Comentar en planes:
- Deja comentarios en los planes para compartir opiniones, sugerencias o preguntas.
- Interactúa con otros usuarios a través de los comentarios.
- Clonar el repositorio del backend
git clone https://github.com/tmartin87/project-3-server.git
cd project-3-server
- Instalar dependencias:
git clone https://github.com/tmartin87/project-3-server.git
cd project-3-server
- Configurar variables de entorno: Crea un archivo .env en la raíz del proyecto y añade las siguientes variables:
PORT=5000
MONGO_URI=mongodb://localhost:27017/project3
JWT_SECRET=your_jwt_secret
- Ejecutar el servidor:
npm startfi
El backend estará disponible en http://localhost:5000.
La base de datos de Nexo está estructurada en las siguientes colecciones:
- 👤 Usuarios: Almacena información de los usuarios registrados, como nombre, correo electrónico y contraseña hasheada.
- 🗓️ Planes: Contiene los detalles de cada plan creado, incluyendo título, descripción, fecha, hora, privacidad (público o privado) y la lista de participantes.
- 💬 Comentarios: Permite a los usuarios dejar comentarios en los planes para interactuar y coordinar mejor los eventos.
- Node.js: Entorno de ejecución para JavaScript.
- Express.js: Framework para construir aplicaciones web y APIs.
- MongoDB: Base de datos NoSQL para almacenar datos.
- Mongoose: ODM (Object Data Modeling) para MongoDB.
- JWT: Autenticación basada en tokens.
- Git: Control de versiones.
- GitHub: Plataforma para alojar y gestionar el código.
- Postman: Pruebas de la API durante el desarrollo.
- Visual Studio Code: Editor de código utilizado para el desarrollo.
- Configuración inicial del backend con Node.js y Express.
- Conexión a la base de datos MongoDB.
- Desarrollo de la API RESTful para manejar usuarios, productos y pedidos.
- Configuración inicial del frontend con React.
- Integración del frontend con el backend mediante Axios.
- Implementación de la autenticación con JWT.
- Validación en el backend y manejo centralizado de errores.
- Despliegue de la aplicación.
- Diseño mobile-first y aplicación responsive.
- Pruebas end-to-end (e2e) con Cypress.
- Mejoras en la interfaz de usuario.
- Añadir más funcionalidades fuera del MVP (por ejemplo, búsqueda avanzada, filtros, etc.).
- Optimización del rendimiento del backend.
- Implementación de un sistema de notificaciones en tiempo real.
https://github.com/martxgomez/project-3-client
- 📧 Email: inaciojosea13@gmail.com
- 🐱 GitHub: martxgomez
- 🔗 LinkedIn: https://www.linkedin.com/in/josé-antonio-inácio-romero-5b04a0179/
- 📧 Email: martagomez.code@gmail.com
- 🐱 GitHub: martxgomez
- 🔗 LinkedIn: https://www.linkedin.com/in/martagomezmartinez/
- 📧 Email: ferramolafvm@gmail.com
- 🐱 GitHub: rferramola
- 🔗 LinkedIn: https://www.linkedin.com/in/rferramola/
- 📧 Email: tmartindsgn@gmail.com
- 🐱 GitHub: tmartin87
- 🔗 LinkedIn: https://www.linkedin.com/in/tomas-martin-46496282