Skip to content

SimonDerejeW/Restaurant-Review-Platform

Repository files navigation

Restaurant-Review-Platform

Group Members

  1. Simon Dereje -- UGR/0952/14
  2. Samuel Endale -- UGR/9314/14
  3. Abenezer Tileye - UGR/5256/14
  4. Feven Lendu -- UGR/1779/13

This is a web based app that enables users to comment on restaurants.

1.Introduction

The restaurant rating system allows users to comment on restaurants. Moreover, it enables users to discover new dining places and gain insights on existing restaurant reviews.

2.Features

User Authentication and Authorization

  User registration and login
  Role based access control for common users and restaurant owners

User Profile Management:

  User profile creation 

Common Users Features:

  View list of restaurants for easy exploration
  Search functionality for finding specific restaurants 
  Commenting feature for sharing opinions  
  Comprehensive view all comments on restaurants
  Update and Delete comments
  Update and Delete restaurants

Restaurant Owners Features:

  Feature that enables restaurants to post their dining establishment`

3.Technologies used

Frontend: TypeScript, Tailwind

Backend: Node.js, Nest.js

Database: MongoDB

Authentication: JWT Token

Fetch API is usedfor communication with the backend.

4. Why MongoDB?

When selecting a database for the Restaurant Review App, several factors were considered, and MongoDB emerged as the optimal choice for the following reasons:

  • Flexible Schema Design: MongoDB's document-oriented model allows for a flexible and dynamic schema.
  • Scalability
  • JSON-Like Documents: MongoDB stores data in BSON format, a binary representation of JSON-like documents. This aligns well with the application's use of TypeScript and simplifies the integration of data between the frontend and the database.
  • Rich Query Language: MongoDB provides a powerful and expressive query language, allowing for complex queries and efficient retrieval of data. This is crucial for implementing features like comprehensive views of comments and reviews.
  • **Document Validation and Indexing:**MongoDB's document validation capabilities allow for enforcing data integrity at the database level. Additionally, the ability to create indexes enhances query performance, contributing to faster response times.

5. Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js
  • npm (Node Package Manager)
  • MongoDB ##6. Getting Started To run the Restaurant Review App locally, follow the following steps: A. Clone Repository B. Install Dependencies:
    • cd restaurant-review-app
      
    • npm install
      

C. Set up environment variables D. Run the application

  •  npm start
    

E. Access the app

  • open your web browser and proceed by signing up html page to begin the process.

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •