The Backend API for UniGuide powers the campus navigation platform, providing essential functionalities such as:
- Dynamic Marker Management: Add, update, and delete location markers seamlessly.
- Data Handling: Manage geocode, building types, photos, and descriptions efficiently.
- Form Submissions: Support for user inputs with robust validation.
- Image Uploads: Validate image size and format for a streamlined user experience.
Designed with a focus on scalability and performance, the API ensures secure data transactions and smooth integration with the frontend, delivering a seamless navigation experience for users.
- Backend Framework: Node.js, Express
- Database: MongoDB
- Other Services: Cloudinary for image uploads
To run this project, you will need to add the following environment variables to your .env
file:
Variable Name | Description | Example Value |
---|---|---|
MONGO_URI |
MongoDB URI with cluster name | mongodb+srv://... |
PORT |
Port number for the server | 1234 |
CLIENT_URL |
Client application URL for testing | http://localhost:3000 |
CLOUDINARY_CLOUD_NAME |
Cloudinary account name | my-cloud-name |
CLOUDINARY_API_KEY |
Cloudinary API key | 1234567890 |
CLOUDINARY_API_SECRET |
Cloudinary API secret | abcdef123456 |
JWT_SECRET |
Secret key for JWT token generation | mysecretkey |
NODE_ENV |
testing locally ? "development":"production" | development or production |
GMAIL_USER |
Gmail email with 2-step verification enabled | example@gmail.com |
GMAIL_PASS |
Gmail App password | app-password |
-
Clone the repository:
git clone https://github.com/tymer007/UniGuideFlip.git cd UniGuideFlip
-
Install dependencies:
npm install
-
Add the
.env
file with the required variables. -
Start the server:
npm run dev
-
Access the API at your configured
PORT
.
Enjoy seamless campus navigation with UniGuide! 🌟