Skip to content

orenIsabella/TaskCraft

Repository files navigation

TaskCraft

Development Flow

Starting Directly

uv run uvicorn app.main:app --reload

Frontend Development

The frontend uses Vite + SolidJS. Start the development server:

cd frontend
npm run dev

This starts Vite with hot module replacement on http://localhost:5173/

Using Docker Compose

To start all services:

docker compose -f docker-compose.dev.yml up
  • Code changes auto-reload via --reload flag
  • Frontend: just edit files, refresh browser

Database migrations

docker compose -f docker-compose.dev.yml exec app uv run alembic revision --autogenerate -m "description"
docker compose -f docker-compose.dev.yml exec app uv run alembic upgrade head

Access database directly

docker compose -f docker-compose.dev.yml exec db psql -U dev -d myapp_dev

Tear down

docker compose -f docker-compose.dev.yml down

Testing

Setup

Install development dependencies:

uv sync --extra dev

Running Tests

Run all tests:

uv run pytest

Run only unit tests:

uv run pytest -m unit

Run only integration tests:

uv run pytest -m integration

Run tests with verbose output:

uv run pytest -v

Run tests without coverage:

uv run pytest --no-cov

Test Structure

  • tests/unit/ - Fast, isolated unit tests
  • tests/integration/ - Full application flow tests
  • tests/conftest.py - Shared fixtures and configuration

Coverage

Tests automatically generate coverage reports. View the HTML report:

open htmlcov/index.html  # macOS
xdg-open htmlcov/index.html  # Linux

Docker Sanity Checks

Test the full Docker stack (app + database):

./test-docker.sh

This script:

  • Builds the Docker containers
  • Starts the application and PostgreSQL
  • Waits for services to be ready
  • Sanity checks API endpoints with curl
  • Cleans up automatically

Note: Requires jq for JSON formatting. Install with apt install jq (Linux) or brew install jq (macOS).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors