- Notifications
You must be signed in to change notification settings - Fork0
m-danya/planty
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
"I haveplenty things to do!"
Planty is an open-source task management app inspired by Todoist and GTD system.
This project is beingactively developed and is not yet a fully working product.
Here is a quick demo (last updated: December 12, 2024):
planty_demo_1.mp4
Prerequisites: Docker (with compose plugin)
git clone https://github.com/m-danya/plantycd plantycp .env.sample .envecho -e "\nPLANTY_AUTH_SECRET=$(openssl rand -base64 32)" >> .env# change other secrets in .env# TODO: Use Alembic to create the database, empty file won't work# create here planty.db (see below one-liner with pytest for now)docker compose up -ddocker exec -it planty-backend-1 uv run python -m planty.scripts.create_admin
Openhttp://localhost
to access the app.
Prerequisites:
- Docker (with compose plugin)
- uv
- nvm
git clone https://github.com/m-danya/plantycd plantycp .env.dev.sample .env.devecho "\nPLANTY_AUTH_SECRET=$(openssl rand -base64 32)" >> .env.devuv syncsource .venv/bin/activate# Run Alembic migrations# alembic upgrade head# Alembic migrations are not being maintained yet due to a high pace of changes# during initial development. To get db with sample data from tests, uncomment a# line in `config.py` to avoid using in-memory db for tests and run this:pytest; mv planty_test.db planty.db# or just run this for automatic commenting, running tests and uncommenting:sed -i '/Uncomment to /{n;s/# //}' planty/config.py; pytest planty/application; mv planty_test.db planty.db; sed -i '/Uncomment to /{n;s/^\(\s*\)/\1# /}' planty/config.py; echo Done. DB is ready!# run "FastAPI" configuration in VS code or:uvicorn planty.main:app --reload
To start the frontend, run the following commands:
cd frontendnpm inpm run dev
Usenvm to manage nodejs versions:
nvm install --lts 20nvm use 20
By default, the SQLite engine is used for persistence, but you can easily switchto PostgreSQL: changeDB_TYPE
in.env
file topostgresql
and runthe system withdocker compose compose.yaml --profile with-postgres up -d
.
pytestmypy .
Measuring code coverage:
coverage run -m pytestcoverage report # or "coverage html"
(or just use Ruff extension for VS Code)
ruff check --extend-select I --fixruff format
- Start backend, save 127.0.0.1:8000/openapi.json to
frontend
directory (TODO: automate) - Run this:
cd frontendnpx swagger-typescript-api -p ./openapi.json -o ./api --axios
About
Task management system