Coder Social home page Coder Social logo

zorridge / rate-my-gym Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 202 KB

A full stack gym review web app built using Node.js, Express, and MongoDB

Home Page: https://https://rate-my-gym.herokuapp.com/

JavaScript 80.96% EJS 11.01% CSS 8.02% Procfile 0.01%
expressjs mongodb nodejs

rate-my-gym's Introduction

RateMyGym - A Gym Review CRUD Web App

Give it a try to get the full experience! https://rate-my-gym.herokuapp.com

(Please expect a short delay in loading due to Heroku's web dyno sleeping)

Table of Contents
  1. About The Project
  2. Built With
  3. Usage

About The Project

image

Leveraging RESTful routing, RateMyGym is a mobile-friendly, full stack gym review web app built using Node.js, Express, and MongoDB.

Functionalities include:

  • CRUD operations (gyms and reviews) using Mongoose as the ODM
  • Client-side validation with UI indicators
  • Server-side validation using joi
  • Authentication using Passport.js
  • Authorisation, session management, and flash messages using express-session
  • Image upload and cloud storage using Cloudinary
  • Geocoding using Mapbox API
  • Interactive cluster map using Mapbox GL JS
  • Basic security using HTML sanitizing and helmet.js

(back to top)

Built With

The project implements the MVC architecture.

Main stack

  • EJS
  • Bootstrap
  • Node.js
  • Express
  • MongoDB

Third-party services

(back to top)

Usage

Quick Navigation
  1. Home
  2. View All
  3. Register
  4. Login
  5. Authentication
  6. Authorisation
  7. Create Gyn
  8. View Gym
  9. Update Gym
  10. Delete Gym
  11. Error Handling
  12. Client-side Validation
  13. Server-side Validation
  14. Flash Messages

Home

Mobile View

Screenshot_20220414-133547_Chrome (Small)

(back to Quick Navigation)

View All

Web View

image

Mobile View

Screenshot_20220414-133608_Chrome (Small)

Infinite scroll with vanilla JavaScript and querying /gyms/search

2022-04-14.14-47-18.mp4

(back to Quick Navigation)

Register

image

(back to Quick Navigation)

Login

image

(back to Quick Navigation)

Authentication

Non-users can only view the gym's info and its reviews

image

(back to Quick Navigation)

Authorisation

Non-owners can add reviews, but cannot edit the gym's info or other users' reviews

image

(back to Quick Navigation)

Create Gym

image

(back to Quick Navigation)

View Gym

image

(back to Quick Navigation)

Update Gym

image

(back to Quick Navigation)

Delete Gym

image

(back to Quick Navigation)

Error Handling

image

(back to Quick Navigation)

Client-side Validation

image

(back to Quick Navigation)

Server-side Validation

image

(back to Quick Navigation)

Flash Messages

Every CRUD action, login/logout/register, redirect will be accompanied by a flash message to improve UX, managed by the browser session

e.g. when non-users try to access "New" on the navbar

image

(back to Quick Navigation)

rate-my-gym's People

Contributors

zorridge avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.