Railway Management System is a Python and SQL-based web app that allows users to search trains, book and cancel tickets, view bookings, update profiles, and submit feedback.
Developed a Railway Management System using Python (Streamlit) for the frontend and SQL for the backend to manage train-related operations efficiently. This project aims to provide a user-friendly interface for passengers to interact with various railway services digitally. The system supports two types of users—customers and administrators (admin functionalities not shown here).
Login/Logout & Profile Management
Secure login with session handling
Profile viewing and editing
🔍 Search Trains
Search available trains between source and destination on a selected date
Display train details including time, availability, fare, and stops
🎟️ Book Ticket
Select a train and enter details for multiple passengers
Real-time validation and booking confirmation with PNR generation
📜 My Bookings
View past and current bookings
Display detailed booking info including passenger seat details and booking status
❌ Cancel Booking
Cancel existing bookings using Booking ID and User ID
Optional reason field for cancellation tracking
💬 Feedback System
Rate trains and leave comments based on journey experience
Feedback linked to specific trains for quality monitoring
Frontend: Python with Streamlit
Backend: SQL-based database (e.g., MySQL/PostgreSQL)
Form Handling: Streamlit forms for interactive user input