⚽ Convocados Docs GitHub

Contributing

Development setup, project structure, and contribution guidelines.

Getting started

git clone https://github.com/Cabeda/Convocados.git
cd Convocados
npm ci
npx prisma generate
npx prisma db push        # create local SQLite DB
npm run dev                # start dev server on http://localhost:4321

Project structure

Convocados/
├── prisma/
│   └── schema.prisma       # Database schema
├── public/                 # Static assets
├── src/
│   ├── components/         # React components (MUI)
│   ├── layouts/            # Astro layouts (DocsLayout, etc.)
│   ├── lib/                # Server utilities (db, webhook, push, i18n)
│   ├── pages/
│   │   ├── api/            # API routes (Astro endpoints)
│   │   ├── docs/           # Documentation pages
│   │   ├── events/         # Event UI pages
│   │   └── index.astro     # Home page
│   └── test/               # Vitest test files
├── Dockerfile
├── fly.toml
└── package.json

Tech stack

LayerTechnology
FrameworkAstro 5 (SSR with Node adapter)
UIReact 19 + MUI 6
DatabaseSQLite via Prisma 6
TestingVitest + Supertest
DeploymentDocker on Fly.io

Scripts

CommandDescription
npm run devStart Astro dev server
npm run buildProduction build
npm run testRun tests with Vitest
npm run typecheckTypeScript type checking
npm run db:generateRegenerate Prisma client
npm run db:migrateCreate and apply migrations
npm run db:studioOpen Prisma Studio GUI

Running tests

npm run test

Tests use Vitest with Supertest for API endpoint testing. The test suite uses an in-memory SQLite database, so no external setup is needed.

Code style

Making changes

  1. Fork the repository and create a feature branch
  2. Make your changes
  3. Run npm run typecheck and npm run test to verify
  4. Open a pull request against main
Database changes: If you modify prisma/schema.prisma, run npm run db:migrate to create a migration file, then commit it with your PR.