An open API service indexing awesome lists of open source software.

https://github.com/batu3384/fast-express-kds

Decision support dashboard for cargo operations with branch analytics, personnel scoring, reporting, comparison, and forecasting.
https://github.com/batu3384/fast-express-kds

cargo-operations chartjs decision-support-system express flask forecasting mysql nodejs

Last synced: 12 days ago
JSON representation

Decision support dashboard for cargo operations with branch analytics, personnel scoring, reporting, comparison, and forecasting.

Awesome Lists containing this project

README

          

# Fast Express KDS


Fast Express KDS showcase assembled from report screens


Node.js
Python
Database
Focus
Course

Fast Express KDS is a decision support workspace built for middle managers in cargo operations. It combines branch analytics, personnel scoring, cross-branch comparison, reporting, and an inflation-aware forecasting service in one browser-based flow.

The opening visual above is assembled from the original report screens so the repository presents the real project surfaces instead of a generic banner.

## What the system covers

- Branch-level performance analysis with yearly cargo, income, cost, rent, and profit views
- Personnel analytics with scored performance, delivery ratios, and "employee of the month" summaries
- Cross-branch comparison across selectable periods
- Forecasting service that uses historical branch data and inflation trend projection
- Reporting views for branch-oriented operational review
- Session-based login flow for the main dashboard routes

## Product surfaces

- `public/login.html`: login screen for authenticated access
- `public/index.html`: operational home dashboard with top-line metrics and charts
- `public/subeler.html` and `public/sube_analiz.html`: branch selection and branch drill-down
- `public/personel.html`: personnel scoring, ranking, and comparison
- `public/karsilastirma.html`: map-backed cross-branch comparison flow
- `public/tahminleme.html`: branch selection plus forecast generation
- `public/raporlama.html`: report selection and branch summaries

## Architecture

- `app.js` runs the main Express application, session management, MySQL queries, dashboard APIs, and protected routes.
- `app.py` exposes the forecasting endpoint and computes branch projections with linear regression and an inflation adjustment.
- `public/` contains the interface layer for login, dashboards, charts, branch analysis, personnel review, comparison, forecasting, and reporting.
- MySQL is the operational data source for branches, personnel, cargo history, and cost calculations.
- `data-seeder.js` is preserved as a database validation helper for an already imported course schema.

## Academic context

- Course: `YBS 3015 Karar Destek Sistemleri`
- Project title: `Fast Express Kargo KDS`
- Project window: `Oct 2024 - Dec 2024`
- Student: `Batuhan Yüksel`

The original project goal was to support middle-management decisions such as branch performance review, profitability tracking, and branch opening or closure evaluation through data-backed views instead of manual interpretation.

## Tech stack

| Area | Tools |
| --- | --- |
| Web app | Node.js, Express.js, Express Session |
| Forecasting service | Python, Flask, scikit-learn, NumPy |
| Database | MySQL, mysql2 |
| Frontend | HTML, CSS, JavaScript, Chart.js, Leaflet |
| Operations | node-cron, bcrypt, dotenv |

## Repository structure

```text
.
|-- app.js
|-- app.py
|-- data-seeder.js
|-- package.json
|-- public/
| |-- index.html
| |-- subeler.html
| |-- sube_analiz.html
| |-- personel.html
| |-- karsilastirma.html
| |-- tahminleme.html
| |-- raporlama.html
| `-- login.html
`-- docs/assets/
```

## Running locally

1. Install the Node.js dependencies:

```bash
npm install
```

2. Create an environment file from the provided example:

```bash
cp .env.example .env
```

3. Install the Python forecasting service dependencies:

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

4. Make sure the MySQL schema from the original course delivery is already imported into the `fast_express` database.

The public repository includes the application code and a database validation helper, but it does not reconstruct the full schema from scratch.

5. Optionally verify that the imported database contains the expected core tables:

```bash
npm run db:check
```

6. Start the Express app:

```bash
npm start
```

7. Start the forecasting API in a second terminal:

```bash
source .venv/bin/activate
python app.py
```

8. If your database still stores plain-text legacy passwords, enable one-time password migration before the first boot:

```bash
AUTO_HASH_LEGACY_PASSWORDS=true npm start
```

The public interface labels are primarily Turkish because the project was originally delivered for a local academic setting.

## Notes on scope

- This repository is strongest as an academic product case study and dashboard implementation.
- The forecasting flow is intentionally lightweight and centered on the course deliverable rather than production-grade model operations.
- The codebase contains both the operational dashboard and the small Python forecasting sidecar because that split is part of the original project structure.

## License

Released under the [MIT License](LICENSE).