The “National Rail” Train Ticket Reservation System web application implemented using technologies such as React JS for front-end and Node JS, Express JS which is a Node JS web framework for back-end and MongoDB document database to store the web application data.
The customer/user should register/signup to obtain services from the Train Ticket Reservation system. After successful registration/signup user can search trains by providing departure and destination stations. Then user can click the “Reserve Ticket” button to reserve tickets from that particular train. Then user is prompt to select the payment type either Mobile Payment or Card(Debit/Credit) Payment. If user select the Card Payment then user is redirect to Card Payment Gateway where user need to fill ticketing details and credit/debit card details. After successful reservation, confirmation email is send to the user with the help of Nodemailer module.
If the user select the Mobile Payment method PIN number is send to the user to confirm his Phone Number while redirecting user to Mobile Payment Gateway where user need to fill ticketing details and fill phone owner details and verify the phone by number entering the PIN number received.
Users can enter his/her NIC number and validate with Government Officers Database to check whether he/she is a government officer. In case if a user is government officer he/she will receive 20% discount. After successful reservation, confirmation SMS is send to the user with the help of Twilio module. Twilio is an third party API which handles SMS services. Finally if the user is done with the reservation he/she can logout of the system.
Figure 1: system login
Figure 2: system registration
Figure 3: home screen
Figure 4: payment methods
Figure 5: card payment option
Figure 6: reservation details received to personal email
Figure 7: mobile payment option
Figure 8: pin verification message for mobile payment
Figure 9: reservation details received to mobile phone
Create a new Google Account and take the email address and its password and paste it inside config.json file, in path "..../Online-Railway-Reservation-System/Services/routes/config.json". Also turn on the Less Secure App Access option under Security section of the created google account.
Create a new Twilio Account using above email address and take the Phone Number, Account SID and Auth Token given by twilio and paste it inside config.json file, in path "..../Online-Railway-Reservation-System/Services/routes/config.json".
After that follows the instructions mentioned in the How To deploy.txt file.
(C) 2019 Ranmal Dewage (ranmal.b.dewage@gmail.com)
ranmaldewage.wordpress.com