RailExpress is a full-stack railway ticket booking system designed to demonstrate real-world applications of Data Structures and Algorithms (DSA). It provides intelligent seat allocation, optimized route planning, secure authentication, and reliable transaction management.
Traditional railway booking systems suffer from:
- β Inefficient waiting list handling
- β Poor route optimization
- β Slow search performance
- β Authentication bottlenecks
- β Transaction failures
RailExpress solves these problems using advanced DSA concepts integrated into a modern full-stack application.
- Fair seat allocation system
- Automatic waiting list promotion
- O(1) enqueue and dequeue operations
- Dijkstraβs Algorithm implementation
- Shortest path between stations
- Multiple route options
- Travel time & distance calculation
- Fast user lookup
- JWT-based authentication
- Secure login system
- Optimized search performance
- Efficient station traversal
- Dynamic route handling
- Booking transaction rollback
- ACID-compliant operations
- Failure-safe system
- Real-time seat availability
- Waiting list tracking
- Cancellation support
- Booking history
- Fast train search
- Multi-criteria filtering
- Optimized for large datasets
- Shortest path computation
- Graph-based route planning
- Secure login & registration
- JWT token authentication
- Role-based access
- Authentication: < 100ms
- Train Search: < 200ms (1M records)
- Route Finding: < 300ms
- Booking Confirmation: < 500ms
- React.js
- React Router
- Axios
- CSS Modules
- React Icons
- Node.js
- Express.js
- MySQL
- JWT Authentication
- REST APIs
RailExpress/
β
βββ frontend/
β βββ components/
β βββ pages/
β βββ contexts/
β βββ App.jsx
β
βββ backend/
β βββ routes/
β βββ config/
β βββ server.js
β
βββ README.md
git clone https://github.com/yourusername/railexpress.git
cd railexpresscd backend
npm installCreate .env file:
PORT=5000
CORS_ORIGIN=http://localhost:3000
JWT_SECRET=your_secret_key
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=railexpress
Run backend:
npm startcd frontend
npm install
npm run devPOST /api/auth/registerPOST /api/auth/loginGET /api/trainsGET /api/trains/:idPOST /api/bookingsGET /api/bookings/my-bookingsGET /api/stations
- β Efficient FIFO-based waiting list
- β Graph-based shortest route system
- β Secure hash-based authentication
- β Transaction rollback using stack
- β Scalable architecture
- β Real-world DSA implementation
- Support 10,000 concurrent users
- Handle 100,000 daily bookings
- Manage 50,000+ train records
- 99.9% uptime target
This project demonstrates:
- Practical implementation of DSA concepts
- System design principles
- Algorithm efficiency comparison
- Performance optimization techniques
Chiarg Hiralal Suthar
This project is developed for educational purposes.





