This project implements a simple task management system using SQLite. Structure:
- connect.py
- main.py
- sql_queries.py
- seed.py
- create_db.py
- queries.sql
- create_tables.sql
- goit_ds_hw_02.db
The database contains users, tasks, and task statuses with proper relationships and constraints.
- Python
- SQLite, SQL
- Faker (for generating test data)
- Docker
- Pipenv
- id (PK)
- fullname
- email (unique)
- id (PK)
- name (unique)
- id (PK)
- title
- description
- status_id (FK)
- user_id (FK, CASCADE delete)
- Relational database design
- Foreign keys with cascading delete
- Unique constraints
- Random data generation using Faker
- SQL queries for data manipulation and retrieval
- Get tasks by user
- Get tasks by status
- Update task status
- Find users without tasks
- Insert new tasks
- Delete tasks
- Count tasks per status
- Join queries (users + tasks)