Skip to content

Latest commit

 

History

History
134 lines (102 loc) · 4.41 KB

File metadata and controls

134 lines (102 loc) · 4.41 KB

🎫 FestiMap Ecuador - Premium Edition

React Native Express MongoDB Gemini AI

A comprehensive platform for managing and discovering cultural events and festivals in Ecuador, powered by Artificial Intelligence and Geolocation.


📖 About the Project

FestiMap Ecuador is a technological solution designed to centralize the country's cultural information. It allows users to discover local festivities, plan smart travel routes, and receive personalized assistance through an AI assistant, while offering organizers a robust administrative dashboard for event management.

✨ Key Features

  • 🤖 AI Assistant (Gemini): Smart event queries, personalized recommendations, and itinerary planning.
  • 🗺️ Interactive Map & GPS: Real-time event visualization with expo-location and turf.js integration for geospatial calculations.
  • 📅 Personalized Agenda: Save your favorite events and organize your cultural calendar.
  • 📊 Administrative Dashboard: Statistics analysis, user management, and full control over the event catalog.
  • 📄 Report Generation: Export travel plans and event details to PDF using expo-print.
  • 🔐 Security: Robust authentication with JWT and password encryption.

🛠️ Tech Stack

Frontend (Mobile & Web)

  • Framework: React Native / React 19
  • Language: TypeScript
  • Styles: Tailwind CSS (v4)
  • Navigation: React Navigation (Stack & Tabs)
  • AI: Google Gemini API (@google/genai)
  • Tools: Axios, Expo SDK (Location, AV, Print, Sharing)

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB with Mongoose
  • Security: JSON Web Tokens (JWT), Bcrypt.js

🚀 Installation and Setup

Prerequisites

  • Node.js (v18+)
  • MongoDB (Local or Atlas)
  • Google Gemini API Key

1. Clone the repository

git clone [https://github.com/Anghel01/festimap-ecuador.git](https://github.com/Anghel01/festimap-ecuador.git)
cd festimap-ecuador

2. Server Setup

cd server
npm install

Create a .env file in the server folder:

PORT=8000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_super_secret_jwt

Start the server:

npm run dev

3. Client Setup

cd ..
npm install

Create a .env.local file in the root directory:

GEMINI_API_KEY=your_google_gemini_api_key

Start the application:

npm run dev

📂 Project Structure

├── src/
│   ├── components/     # Reusable UI components
│   ├── context/        # Global state management (User, Agenda)
│   ├── navigation/     # Route configuration (Stack, Tabs)
│   ├── screens/        # Main screens (Home, AI, Admin, etc.)
│   └── config/         # API and services configurations
├── server/
│   ├── controllers/    # Business logic
│   ├── models/         # Mongoose schemas
│   ├── routes/         # API endpoints definition
│   └── middlewares/    # Auth and error handling
└── types.ts            # TypeScript definitions

📸 Screenshots

WEB

WhatsApp Image 2026-02-21 at 10 14 38 WhatsApp Image 2026-02-21 at 10 14 38 (4)

MOVIL

WhatsApp Image 2026-02-21 at 10 14 38 (1) WhatsApp Image 2026-02-21 at 10 14 38 (2) WhatsApp Image 2026-02-21 at 10 14 38 (3)


👨‍💻 Author

Angelo Israel Conterón Santillán


📄 License

This project is licensed under the ISC License. See the package.json file for details.