Logo Lanfrica

wessam-elden/maporia

Type de record:

software
Créateur:
wes
Hôte:
Maporia - Egypt domestic-tourism Flutter app with AI chatbot (LangChain/FAISS/Hugging Face) and YOLOv8 landmark detection # 🗺 Maporia Maporia is a smart mobile application focused on domestic tourism in Egypt. It helps users explore Egyptian governorates, discover historical and cultural attractions, and interact with intelligent tools such as an AI chatbot and a landmark scanner. --- ## 📋 Table of Contents - Project Overview - Prerequisites - Setup Instructions - Backend Setup - AI Chatbot - Landmark Detection API - Key Features - Troubleshooting - Contact --- ## Prerequisites - A computer running Windows or macOS - An Android mobile device (Developer Mode must be enabled) - Android Studio installed and configured - Flutter SDK installed (for fetching dependencies and running the app) --- ## Setup Instructions ### 1. Install All Dependencies After cloning or downloading the project, open a terminal in the project directory and run: bash flutter pub get --- ### 2. Run the App on an Android Device - Enable Developer Mode on your Android phone. - Enable USB Debugging under Developer Options. - Connect your Android device to your computer via USB. - Open Android Studio, or run: bash flutter run --- ## Backend Setup (Express.js + MySQL) ### 1. Prerequisites - Node.js (v18 or higher) - MySQL Server & MySQL Workbench - Postman (for API testing) --- ### 2. Installation Clone the backend folder and navigate to it: bash cd backend npm install Create a .env file with the following: env PORT=4040 DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD= DB_NAME=mydb # JWT secret key JWT_SECRET=super_secret_key_123 --- ### 3. Running the Backend bash npm run dev npm run seed => to full database npx tsc => to make build folder API available at: localhost --- All APIs need token in header except login , signup ### 4. API Highlights - POST /auth/signup – Create a new user - POST /auth/login – Login and receive JWT - POST /visit/create – Create a visit (auth required) - GET /city/all – List all cities - GET /visit/all – List all visits - GET /a …