Skip to content

yevhen-moroz/task-tracker-sqlite-database

Repository files navigation

Task Management System (SQLite)

Project Overview

This project implements a simple task management system using SQLite. Structure:

Python modules:

  • connect.py
  • main.py
  • sql_queries.py
  • seed.py
  • create_db.py

SQL:

  • queries.sql
  • create_tables.sql

Database:

  • goit_ds_hw_02.db

The database contains users, tasks, and task statuses with proper relationships and constraints.

Tech Stack

  • Python
  • SQLite, SQL
  • Faker (for generating test data)
  • Docker
  • Pipenv

Database Structure

Users

  • id (PK)
  • fullname
  • email (unique)

Status

  • id (PK)
  • name (unique)

Tasks

  • id (PK)
  • title
  • description
  • status_id (FK)
  • user_id (FK, CASCADE delete)

Features

  • Relational database design
  • Foreign keys with cascading delete
  • Unique constraints
  • Random data generation using Faker
  • SQL queries for data manipulation and retrieval

Queries Included

  • 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)

About

SQL + Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors