https://github.com/akataruka/station-management-app
A C++ console app to manage train schedules, track allocations, and delays at stations using priority queues and smart reallocation.
https://github.com/akataruka/station-management-app
cli cpp lld management object-oriented-programming oops station-automation system-design train-managment
Last synced: 10 months ago
JSON representation
A C++ console app to manage train schedules, track allocations, and delays at stations using priority queues and smart reallocation.
- Host: GitHub
- URL: https://github.com/akataruka/station-management-app
- Owner: Akataruka
- Created: 2025-07-15T18:29:16.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-15T19:01:55.000Z (12 months ago)
- Last Synced: 2025-07-16T16:28:26.671Z (11 months ago)
- Topics: cli, cpp, lld, management, object-oriented-programming, oops, station-automation, system-design, train-managment
- Language: C++
- Homepage:
- Size: 111 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚉 Station Management System
A simple C++ console-based application to manage train schedules and track allocations at a station. This project simulates how trains arrive and depart from tracks and ensures optimal allocation using a priority queue and reallocation logic when delays are introduced.
## ✨ Features
- Add and delete trains
- Allocate tracks optimally based on arrival/departure and availability
- View upcoming trains (with options for time, count, and specific tracks)
- Introduce delays and automatically reallocate tracks
- Sort and view all trains by arrival, departure, or track
- Real-time console interaction
## 🧠 Core Concepts Used
- Object-Oriented Programming (OOP)
- Priority Queues (Min-heaps)
- Sorting and Binary Search
- Dynamic memory management
- Encapsulation and modular design
## 🛠️ Installation & Running
1. **Clone the repository**
```bash
git clone https://github.com/Akataruka/station-management-app.git
cd station-management-app
2. **Compile the code**
```bash
g++ -std=c++17 main.cpp -o station-management-app
```
3. **Run the app**
```bash
./station-management-app
```
## 📦 File Structure
```
📁 station-management-system
├── main.cpp # All classes and logic for train/station management
├── README.md # Project information and usage
```
## 🚀 Example
```txt
WELCOME TO STATION MANAGEMENT APP
1. Create a new Station
CHOOSE From below Functionalities (q to quit):
Enter station Name: Central
Enter the number of tracks: 3
Station Created
1. Add/Delete trains
2. View Next trains
3. Add delay
4. View all trains
5. Get station details
...
```
## 📋 TODO
* Add file-based persistence for station/train data
* Add support for train ID search and editing
## 🤝 Contributing
Feel free to fork this repo and create a pull request for any improvements, bug fixes, or new features. PRs are welcome!
## 🙋♂️ Author
* **Asutosh Kataruka**
3rd Year Undergraduate, IIIT Bhubaneswar
Passionate about C++, LLD, ML-DL etc.
---
> ⭐ If you found this helpful, feel free to star the repo and share!