- 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
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.