A comprehensive React-based modernization of the IRCTC (Indian Railway Catering and Tourism Corporation) website. This project offers a high-performance, responsive, and visually stunning interface for managing rail travel needs, including train tracking, PNR enquiries, and specialized booking services.
- PNR Enquiry: Quick and easy access to passenger name record status.
- Live Train Status: Real-time tracking of train positions and delays.
- Integrated Booking: specialized portals for FTR booking, Pets booking, and Wheelchair assistance.
- E-Catering & EPantry: Simplified food ordering directly to your seat.
- User Management: Modern login and registration system with secure profile management.
- Financial Services: IRCTC iPay integration, E-Wallet guides, and Loyalty card (SBI/BOB) comparisons.
- "Ask Disha" AI: Interactive floating chatbot for user assistance.
- Multi-Language Support: Complete internationalization (i18n) for Hindi/English and more.
- Dynamic UI: Features a sleek dark mode, glassy bento-grid layouts, and responsive components.
- Framework: React (v19)
- Build Tool: Vite (v8)
- Routing: React Router Dom (v7)
- Icons: Lucide React
- Styling: Vanilla CSS (Tailored modern UI with CSS variables)
- State Management: React Context API (for i18n and global settings)
irctc-01/
├── src/
│ ├── components/ # Reusable UI elements (Navbar, Modals, Hero, etc.)
│ ├── pages/ # Core application views (PNR, Alerts, Tracking, etc.)
│ ├── context/ # State management (Language, etc.)
│ ├── i18n/ # Translation files for multi-language support
│ ├── assets/ # Static images and media
│ ├── App.jsx # Main router and app layout logic
│ ├── index.css # Global styles and modern UI tokens
│ └── main.jsx # Project entry point
├── public/ # Public static assets
└── package.json # Project metadata and dependencies
-
Clone the project
git clone <repository-url>
-
Navigate to the project directory
cd irctc/irctc-01 -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open in browser Navigate to
http://localhost:5173(or the port specified by Vite).