feat: Initial commit - Train tracking system
Some checks failed
Auto Tag on Merge to Main / auto-tag (push) Successful in 27s
CI - Lint and Build / lint-backend (push) Failing after 30s
CI - Lint and Build / lint-frontend (push) Failing after 2s
CI - Lint and Build / build-frontend (push) Has been skipped
CI - Lint and Build / docker-build-test (push) Has been skipped

Complete real-time train tracking system for Spanish railways (Renfe/Cercanías):

- Backend API (Node.js/Express) with GTFS-RT polling workers
- Frontend dashboard (React/Vite) with Leaflet maps
- Real-time updates via Socket.io WebSocket
- PostgreSQL/PostGIS database with Flyway migrations
- Redis caching layer
- Docker Compose configuration for development and production
- Gitea CI/CD workflows (lint, auto-tag, release)
- Production deployment with nginx + Let's Encrypt SSL

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Millaguie
2025-11-28 00:21:15 +01:00
commit 34c0cb50c7
64 changed files with 15577 additions and 0 deletions

116
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,116 @@
name: CI - Lint and Build
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
jobs:
lint-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: backend/package-lock.json
- name: Install backend dependencies
run: |
cd backend
npm ci
- name: Run ESLint (backend)
run: |
cd backend
npm run lint || true
- name: Check formatting with Prettier
run: |
cd backend
npx prettier --check "src/**/*.js" || true
lint-frontend:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install frontend dependencies
run: |
cd frontend
npm ci
- name: Run ESLint (frontend)
run: |
cd frontend
npm run lint || true
build-frontend:
runs-on: ubuntu-latest
needs: lint-frontend
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json
- name: Install frontend dependencies
run: |
cd frontend
npm ci
- name: Build frontend
run: |
cd frontend
npm run build
env:
VITE_API_URL: http://localhost/api
VITE_WS_URL: http://localhost
docker-build-test:
runs-on: ubuntu-latest
needs: [lint-backend, lint-frontend]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build backend image (test)
uses: docker/build-push-action@v5
with:
context: ./backend
push: false
tags: trenes-backend:test
- name: Build frontend image (test)
uses: docker/build-push-action@v5
with:
context: ./frontend
push: false
build-args: |
VITE_API_URL=http://localhost/api
VITE_WS_URL=http://localhost
tags: trenes-frontend:test