Skip to content

Repository files navigation

Mint Navigator: Smart Visitor Guidance System

Project Description

This project is a Smart Visitor Guidance System, codenamed "Mint Navigator," developed using the MERN stack (MongoDB, Express.js, React, Node.js) and styled with Tailwind CSS. It aims to provide intelligent navigation and information for visitors within a specified environment.

Features

  • Interactive maps and routing for visitors.
  • Point of Interest (POI) information and details.
  • User authentication and authorization (e.g., for admin access to manage POIs).
  • Search functionality for locations and services.
  • Responsive design for various devices.
  • [Add more specific features as your project develops, e.g., real-time updates, multilingual support, accessibility features.]

Technologies Used

  • Frontend: React (likely with Vite for development), React Router DOM, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: MongoDB (with Mongoose for ODM)
  • Other: [Mention any other significant libraries or tools like Axios, Redux, etc.]

Installation Guide

Follow these steps to set up the project locally on your machine.

Prerequisites

  • Node.js: (LTS version recommended, e.g., 18.x or 20.x) - Download from nodejs.org.
  • npm: (Comes with Node.js) or Yarn.
  • MongoDB:
    • Local Installation: Install MongoDB Community Server - Follow instructions on mongodb.com.
    • MongoDB Atlas: Alternatively, you can use a cloud-hosted MongoDB Atlas cluster.

Steps

  1. Clone the repository:

    git clone https://github.com/your-username/mint-navigator.git
    cd mint-navigator

    (Replace your-username with your actual GitHub username)

  2. Set up Environment Variables: This project requires environment variables for configuration (e.g., database connection strings, API keys).

    • You will find an .env.example file in the root of the project (and potentially in client/ and server/ sub-folders if your project is structured that way).
    • Create a new file named .env in the same directory as .env.example.
    • Copy the contents from .env.example into your new .env file.
    • Fill in the actual values for each variable. Do not commit your .env file to Git!

    Example .env content (adjust variable names and values as per your actual backend and frontend needs):

    # Backend Configuration
    PORT=5000
    MONGO_URI=mongodb://localhost:27017/mint_navigator_db # Or your MongoDB Atlas connection string
    JWT_SECRET=your_super_secret_jwt_key
    
    # Frontend Configuration (if needed, e.g., for API URL)
    VITE_API_URL=http://localhost:5000/api
    
  3. Install Dependencies:

    If your project has separate client/ and server/ folders, each with its own package.json:

    # Install backend dependencies
    cd server
    npm install
    cd ../
    
    # Install frontend dependencies
    cd client
    npm install
    cd ../

    (Adjust client and server folder names if yours are different. If you have a single package.json at the root, simply run npm install in the root directory.)

  4. Run the Project:

    If you need to start frontend and backend separately (common for MERN):

    # In your first terminal, start the backend server
    cd server
    npm start # or npm run dev, check your server/package.json for the correct script
    cd ../
    
    # In a new terminal, start the frontend development server
    cd client
    npm run dev # or npm start, check your client/package.json for the correct script
    cd ../

    The frontend will typically run on http://localhost:5173 (Vite default) and the backend on http://localhost:5000 (or whatever PORT you configured).

Contributing

We welcome contributions to the Mint Navigator project! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix (git checkout -b feature/your-feature-name).
  3. Make your changes and ensure tests pass (if applicable).
  4. Commit your changes (git commit -m 'feat: Add new feature X').
  5. Push to your branch (git push origin feature/your-feature-name).
  6. Open a Pull Request to the main branch of this repository.

About

A full-stack office navigation and directory system for Ethiopia's Ministry of Innovation & Technology (MInT) — helping visitors find departments, offices, managers, and government services.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages