Skip to content

youfiElwy/Cairo-Metro-System

Repository files navigation

Cairo Metro System

Alt text

Demo

You can watch a walkthrough of the website from Here

Table of contents

  • Project Title
  • Demo
  • Table of contents
  • Description
  • Usage
  • List of Features
  • Preview
  • Contributers


Description

Cairo Metro System is a web-based application that allows users to reserve and pay for metro tickets, view their upcoming rides, buy subscriptions, and more. Admins can manage the stations, routes, and zones. The application is built using the PERN stack, which consists of PostgreSQL, Express, React, and Node.js. PostgreSQL is an open-source object-relational database management system that supports both SQL and JSON querying. Express is a web framework for Node.js that provides features for routing, middleware, and handling HTTP requests and responses. React is a JavaScript library for building user interfaces. Node.js is a JavaScript runtime for developing server-side and networking applications. The application also uses Google Maps API for displaying maps and Stripe API for handling payments. The application is responsive with a silk design on all devices.

Usage

  1. Clone this project
  2. Download Postgres and PGadmin
  3. Create a new databse in PGadmin then navigate to db.js and enter your database configuration
  4. Navigate to rerun_DB.sql and run the sql queries using PGadmin
  5. Open terminal in the project folder then run npm i command
  6. Clone the Front End files from this repo : Link
  7. Clone the Location Service files from this repo : Link
  8. Open terminal in the front end project and location service folder then run npm i command
  9. Run npm start in all the projects and wait a min or two
  10. Enter in your browser http://localhost:5000/

List of Features

  • Responsive Design
  • Payments with Stripe API
  • Google Maps API for displaying maps
  • Forget password Feature
  • Auto Complete Station names
  • Passwords salted and hashed in the databse

Preview


Sign Up page


Alt text


Map


Alt text



Alt text


Tickets


Alt text


Stripe Payment


Alt text


Auto Complete Stations and check price


Alt text


Admin Dashboard


Alt text


Responsivness


Alt text


Hashed and Salted passwords


Alt text


Contributers