In this system design we are going to know about the complete structure of the Indian railway system and its working . Some of the main criterias of this system comes under these parameters .
- Search Train
- Book Train
- Cancel train
- User Notification
In this architecture we mainly use the relational database as it is highly structured and maintained easily . Some of the relational data bases which we probably use in this system are:
- Train_details
- Booking_train
- Train_booking_details
- User_database
- Payment_database
User Services
- Create User(userid,password)
- Post User Details(user details)
Train search service
- List Train(from ,to , date,quota ,class)
- getTrain Route(TrainNum , date)
Book Ticket Services
- Generate PNR()
- BookTicket(train detail , userDetails)
Payment Services
- PaymentProessing (PNR , transactionID, payment type)
- Initiate Payment(PNR ,transaction ID)
- Initiate Refund (PNR , transaction ID)
Notification Service
- SMS ticket
- Email Ticket
- Notify train running status(ticket)
- Train details/month - 6.2gb
- Train_booking_info & Details/month - 8gb
- Booking_payments_details/month - 4.6gb
- Total size/month - 18.8gb
- Total size/year ~ 223gb
- Total size/5 years ~ 1 Tb