TasteMap es una aplicación móvil que centraliza la información de restaurantes, cafeterías y bares en Colombia, facilitando encontrar lugares confiables incluso si no aparecen en mapas tradicionales. Integra localización, filtros avanzados y un motor de recomendaciones con IA basado en preferencias reales del usuario.
Este repositorio corresponde al backend del proyecto.
Su objetivo es proveer los servicios y lógica de negocio necesarios para la aplicación.
Antes de ejecutar el proyecto, asegúrate de tener instaladas las siguientes herramientas:
Verifica las versiones con:
java -version
mvn -version
git --version
docker --versionAbre una terminal en el directorio donde quieras guardar el proyecto y ejecuta:
git clone https://github.com/Dinoprogramadores/Backend-TasteMap.git
cd Backend-TasteMapIMPORTANTE!!
Por seguridad, las variables de entorno no deben ser subidas al repositorio.
Este proyecto utiliza MongoDB Atlas como base de datos en la nube y Supabase como proveedor de autenticación. Para que la aplicación pueda conectarse correctamente:
Crea un archivo llamado .env en la raíz del proyecto (mismo nivel que docker-compose.yml).
Nota: Usa como base el archivo .env.example
Dentro de ese archivo, configura las siguientes variables de entorno:
MONGODB_URI=tu_cadena_de_conexion_de_atlas
SUPABASE_URL=tu_url_de_supabase
SUPABASE_KEY=tu_clave_de_supabaseEn el archivo application.properties, asegúrate de igualmente modificar spring.data.mongodb.uri=mongodb://mongo:27017/tastemap
por la cadena de conexión de Atlas.
Este proyecto incluye un archivo docker-compose.yml preparado para usar MongoDB Atlas,
por lo que no necesitas levantar un contenedor local de MongoDB.
Para construir y ejecutar el backend:
docker compose up --buildSi quieres ejecutarlo en segundo plano:
docker compose up --build -dLuego accede a:
- Para compilar el proyecto:
mvn clean package- Para ejecutar la aplicación en local:
mvn spring-boot:run- Ingresa a:
http://localhost:8080/
- Para ver la documentación swagger del proyecto ingresa a:
http://localhost:8080/swagger-ui/index.html
Cuando realices cambios (NO a docker-compose.yml ni la configuración
de la base de datos) ejecuta nuevamente el paso 1 y 2.
Ejecuta las pruebas unitarias con:
mvn test- Crea una nueva rama:
git checkout -b feat/nueva-funcionalidad- Realiza tus cambios y súbelos:
git commit -m "Agrega nueva funcionalidad"
git push origin feat/nueva-funcionalidad- Abre un Pull Request y espera la revisión de otro miembro del equipo.
🗺️
Proyecto desarrollado por el equipo TasteMap 🧠💻
Hecho con ☕ y ❤️ usando Spring Boot + MongoDB Atlas + Supabase + Docker + Render