Skip to content

Anghel01/festimap-ecuador-web-app

 
 

Repository files navigation

🎫 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.

About

Comprehensive web and mobile platform for locating and exploring cultural events and festivals in Ecuador. Built with React and Node.js.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 73.1%
  • CSS 19.9%
  • HTML 6.7%
  • Rich Text Format 0.3%