Topic: Basketball League Management System
This project is a comprehensive relational database system designed to model and manage the complex data and operations of a professional basketball league. It serves as a practical application of database design principles, including normalization, complex relationships, constraints, and advanced SQL querying.
The system is wrapped in a modern web application featuring a Node.js backend and a responsive frontend, allowing users to interact with the database through a graphical interface.
The core of this project is a robust Oracle Database schema that models:
- League Structure:
SEZON(Seasons),ETAPA(Stages/Rounds). - Organizations:
ECHIPA(Teams),ARENA(Stadiums). - Personnel:
JUCATOR(Players),ANTRENOR(Coaches),ARBITRU(Referees). - Events:
MECI(Matches),ARBITRAJ_MECI(Match Officiating). - Contracts & Logistics:
CONTRACT_JUCATOR(Player Contracts),CONTRACT_ANTRENOR(Coach Contracts). - Medical:
ACCIDENTARE(Injuries),TIP_ACCIDENTARE(Injury Types).
- Database: Oracle Database
- Backend: Node.js, Express.js
- Database Driver:
oracledb - Frontend: HTML5, CSS3, Vanilla JavaScript
- Dynamic CRUD Operations: Generic interface to Add, Edit, and Delete records for all major tables.
- Complex Reporting:
- Active Players Report: Filters players by salary and conference, showing injury status.
- Team Statistics: Aggregates data to show average salaries, total payroll, and squad size per team.
- Smart Lookups: Dropdowns and auto-complete fields populated dynamically from the database.
- Schema Inspection: The application dynamically reads table metadata to generate forms.
- Node.js (v14 or higher)
- Oracle Database (Local XE or Cloud)
- Oracle Instant Client (if required by your OS environment)
├── dbsetup/ # SQL Scripts and Documentation
│ ├── DBScript.sql # DDL: Schema creation
│ ├── DBPopulation.sql # DML: Initial data
│ └── ... # Diagrams (ERD) and Reports
├── public/ # Frontend Assets
│ ├── index.html # Main UI entry point
│ ├── client.js # Frontend logic & API calls
│ └── style.css # Styling
├── server.js # Node.js Express API
├── package.json # Project dependencies
└── README.md # Project documentation
Detailed documentation including the Entity-Relationship Diagram (ERD) and conceptual schema can be found in the dbsetup folder.