Skip to content

phicus/kratos

Repository files navigation

Kratos

CI Contributions welcome

Sistema interno de votación para Phicus. Empleados con cuenta @phicus.es puntúan propuestas internas de 1 a 10 vía Google Workspace SSO. Voto anónimo, único por persona, controlado por dos administradores.

⚠️ El badge de CI asume que el repo se aloja en github.com/phicus/kratos. Ajusta el path en el <owner>/<repo> del URL si difiere.

Quickstart

# Setup
cp .env.example .env   # editar GOOGLE_CLIENT_ID/SECRET, SESSION_SECRET

# Backend
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
python -m kratos.db init
python -m kratos.seed.import_csv data/seed/proposals.csv
uvicorn kratos.main:app --reload --port 8000 &

# Frontend (otro terminal)
cd ../frontend
npm install
npm run dev      # http://localhost:5173

Documentación

Tests innegociables (constitución)

cd backend
.venv/bin/python -m pytest tests/integration/test_vote_anonymity.py -v  # Principio I
.venv/bin/python -m pytest tests/integration/test_vote_unicity.py   -v  # Principio II
.venv/bin/python -m pytest tests/contract/test_auth_domain.py       -v  # Principio III

Los tres bloquean el merge del MVP si no pasan.

Despliegue

docker compose build
docker compose up -d

Volumen persistente ./data:/app/backend/data (SQLite + WAL).

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors