Skip to content

Zanfer322/minimal-todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimalistic TODO app

Backend written in python with fast-api.

Frontend written in typescript with angular.

Features

Create todo's. Todo's have 3 states

  • ongoing
  • done
  • cancelled

Create and change state

Todo's are grouped by day of creation.


Add tags

Add tags


Apply tags to todo's.

Apply tags


Filter by state

Filter by state


Filter by tags

Filter by tags


Search todo contents

Search

Building

Frontend

Prerequisites: node.js and npm installed

Run the following commands

cd frontend
npm install
npm run build:prod

This will build the frontend into frontend/dist/frontend folder.

Backend

Prerequisites: python 3.8 installed.

Run the following commands to create a python virtual environment.

python -m venv <venv-path>

You can activate the virtual environment using

Linux

source <venv-path>/bin/activate

Windows

<venv-path>\Scripts\activate

Once the virtual environment is active, run the following commands.

cd backend
pip install poetry
poetry install --no-dev

Running the application

Add a file backend/.env with the following contents

db_path=prod.db
frontend_path=<path-to-repo>/frontend/dist/frontend

Activate the python virtual environment and run

cd backend
uvicorn app:app

This will serve the application on localhost:8000/todo. A file called prod.db which will act as a database for this application.

Running the tests

Activate the python virtual environment and run

cd backend
poetry install
pytest --cov=app tests