Skip to content

MANURAJ7/Railway_Booking_Task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project Intro

This is Railway Reservation & Routing system.

Old approach
Monolithic DB system : Implemented using SQL DB (PostgreSQL) only by aquiring Row level locks in DB with Serialized transactions.

Currently implementing
Polyglot Persistence system : Utilizing Neo4j for Routing queries & PostgreSQL for general queries like user data. Redis Redlock for distributed locking of resorces/data as this is a multi database system.

Old Schemas

  • trains : [ train_id, train_name, source , destination, timing ]
  • coaches : [ id, train_id, coach_name , available_seats ]
  • seats : [ id, seat_number, coach_id, booking_id ]
  • bookings : [ id, user_id, train_id , source, destination, coach_name, number_of seats ]
  • users : [ user_id, name, password ]
  • admin : [ keys ]

New Workflow & Schema

Transaction Workflow : Transaction Workflow Image

Query Workflow : Query Workflow Image

Relation between Stations : Relation between Stations Image

Relation between Station & Seats : Relation between Stations & Seats Image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published