A simple Python-based application to make custom F1 teams, including team principals, drivers, and engines using Microsoft SQL.
✅ Add new teams with team principal, drivers, and engine
✅ Edit team details
✅ Remove teams
✅ List all teams, team principals, drivers, and engine manufacturers
✅ Uses a relational database for data storage
Make sure you have:
- Python installed
- A database (Microsoft SQL Server)
- Clone this repository:
git clone https://github.com/eggseedd/f1-fantasy-cli.git
cd f1-fantasy-cli
- Set up the database:
- Ensure your database is running
- Update
database/db.pywith your connection settings - Run the provided SQL schema and seed to create tables and insert the list of team principals, drivers, engines provided
Run the script:
python main.py
teams: Stores custom team namesdrivers: Stores driver detailsengines: Stores engine manufacturersteam_principals: Stores team principals
🔄 Enhance team update handling for better experience
🕵️♂️ Investigate why only drivers entity trigger an error when re-entering existing values
-Dibutuhkan ACID compliance karena ada beberapa tabel atau entitas yang harus memiliki ketetapan data.
Dibutuhkan ACID compliance, yang memastikan ketepatan dan integritas data antar tabel. Tabel seperti drivers, engines, dan team_principals berisi data tetap yang tidak dapat diubah oleh pengguna. Saat pengguna melakukan operasi CRUD, rollback akan dilakukan jika terjadi error, sehingga hubungan antar tabel tetap terjaga dan tidak ada data yang rusak atau inkonsisten.
Query yang digunakan hanya menggunakan operasi dasar seperti SELECT, WHERE, JOIN, dan lain-lain, sehingga tetap efisien. Dengan struktur database yang sederhana dan jumlah data yang relatif, SQL masih mampu menangani eksekusi query dengan runtime yang cepat.
Data dalam sistem ini tidak bersifat dinamis, karena atribut yang digunakan memiliki struktur yang tetap. Oleh karena itu, SQL database lebih sesuai dibanding NoSQL, yang lebih cocok untuk data yang bersifat fleksibel dan tidak memiliki skema tetap.
Oleh karena itu, saya memutuskan untuk menggunakan SQL (relational) database, Microsoft SQL.
models/teams.py (line 146-156)





