Skip to content

Nutty1704/eprp-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TasteMonash Backend

A Node.js RESTful API server for the TasteMonash restaurant discovery platform. Provides secure authentication, review management, business operations, and automated deal management for the Monash University dining community.

Features

Core API Functionality

  • RESTful API design with Express.js
  • Role-based authentication (customers vs business owners)
  • Anonymous review system with multi-criteria ratings
  • Restaurant and business management
  • Image upload and cloud storage integration
  • Search and filtering capabilities with pagination

Authentication & Security

  • PassportJS authentication strategy
  • Session management with MongoDB storage
  • Encrypted authentication cookies
  • Role-based access control middleware
  • Input validation and sanitization

Automated Systems

  • Scheduled jobs for deal expiration management
  • Database indexing for optimized queries
  • Error handling and logging
  • File upload processing with Multer

Tech Stack

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB with Mongoose ODM
  • Authentication: PassportJS
  • File Upload: Multer
  • Cloud Storage: Cloudinary
  • Job Scheduling: Node-cron
  • Environment: dotenv

Prerequisites

  • Node.js (version 16 or higher)
  • MongoDB (local installation or cloud instance)
  • npm or yarn package manager
  • Cloud storage account (for image uploads)

Installation

  1. Clone the repository:
git clone https://github.com/Nutty1704/eprp-backend.git
cd eprp-backend
  1. Install dependencies:
npm install
  1. Create environment configuration:
cp .env.sample .env
  1. Configure environment variables in .env:

Development

Start the development server:

npm run dev

The API will be available at http://localhost:5000

Production

Start the production server:

npm start

Contributing

  1. Follow existing code organization patterns
  2. Maintain RESTful API conventions
  3. Add appropriate middleware for new routes
  4. Include proper error handling

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors