A Python / DJango re-implementation of the classic timesheet.php project used for client timetracking.
Any software consultancy needs to track time spent on client tasks. This project aims to provide this capability in as simple manner as possible. The project should enable easy generation of invoices for client work.
A secondary purpose is to gain experience on common full stack python development tools and frameworks.
Project components:
- python3.10+
- alembic (to manage the schema)
- sqlalchemy
- sqllite3 or postgres
- django
- ReactJS
- docker to easily host the project in a container
TIME_SRC=/bluestone/src/github/timesheet/
TIME_PYVE=/bluestone/pyve/timesheet/
mkdir -p $TIME_PYVE
virtualenv $TIME_PYVE
cd $TIME_SRC
. $TIME_PYVE/bin/activate
. env # Set the location of the sqlite3 database
cd backend
make install
make test
cd $TIME_SRC
. env
cd backend/
./run.sh
cd $TIME_SRC/backend
tests/testFastapi.py
Backend components including fastapi
Fastapi specific classes
Alembic database definitions and migrations
Pydantic Models, SQLAlchemy data model and other support classes
Bluestone welcomes contributors for this project.
Please contact [email protected] or make PRs as you prefer.