Files
calminer/docs/architecture/15_development_setup.md
zwitschi 4b3a15ed15 Add comprehensive architecture documentation and related scripts
- Introduced multiple architecture documentation files covering building block view, runtime view, deployment view, concepts, architecture decisions, quality requirements, technical risks, glossary, UI and styling, testing, CI, and development setup.
- Migrated existing content from `architecture_overview.md` and `implementation_plan.md` into structured documentation.
- Created scripts for checking broken links in documentation and formatting Markdown files for consistency.
- Updated quickstart guide to provide clearer setup instructions and usage overview.
- Removed outdated MVP features and testing strategy documents to streamline documentation.
2025-10-21 15:39:17 +02:00

1.3 KiB

15 Development Setup Guide

This document outlines the local development environment and steps to get the project running.

Prerequisites

  • Python (version 3.10+)
  • PostgreSQL (version 13+)
  • Git

Clone and Project Setup

# Clone the repository
git clone https://git.allucanget.biz/allucanget/calminer.git
cd calminer
```python

## Virtual Environment

```powershell
# Create and activate a virtual environment
python -m venv .venv
.\.venv\Scripts\Activate.ps1
```python

## Install Dependencies

```powershell
pip install -r requirements.txt
```python

## Database Setup

1. Create database user:

```sql
CREATE USER calminer_user WITH PASSWORD 'your_password';
  1. Create database:
CREATE DATABASE calminer;
```python

## Environment Variables

1. Copy `.env.example` to `.env` at project root.
1. Edit `.env` to set database connection string:

```dotenv
DATABASE_URL=postgresql://<user>:<password>@localhost:5432/calminer
  1. The application uses python-dotenv to load these variables.

Running the Application

# Start the FastAPI server
uvicorn main:app --reload
```python

## Testing

```powershell
pytest

E2E tests use Playwright and a session-scoped live_server fixture that starts the app at http://localhost:8001 for browser-driven tests.