Initial commit: MVP tidtakingssystem

- Backend: FastAPI, EXIF-parser, EasyOCR, SQLite
- Frontend: React admin (startliste, passeringer, gjennomgang, resultater)
- Docker: docker-compose med depot/processed/data-volumer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 15:01:33 +01:00
commit 330ba7a93d
35 changed files with 5038 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
import { NavLink, Route, Routes } from 'react-router-dom'
import StartlistPage from './pages/StartlistPage.jsx'
import ReviewPage from './pages/ReviewPage.jsx'
import ResultsPage from './pages/ResultsPage.jsx'
import PassagesPage from './pages/PassagesPage.jsx'
import './App.css'
function Nav() {
const linkClass = ({ isActive }) => (isActive ? 'nav-link active' : 'nav-link')
return (
<nav className="navbar">
<span className="navbar-brand">Timing Admin</span>
<NavLink to="/" className={linkClass} end>Startliste</NavLink>
<NavLink to="/passages" className={linkClass}>Passeringer</NavLink>
<NavLink to="/review" className={linkClass}>Gjennomgang</NavLink>
<NavLink to="/results" className={linkClass}>Resultater</NavLink>
</nav>
)
}
export default function App() {
return (
<>
<Nav />
<main className="container">
<Routes>
<Route path="/" element={<StartlistPage />} />
<Route path="/passages" element={<PassagesPage />} />
<Route path="/review" element={<ReviewPage />} />
<Route path="/results" element={<ResultsPage />} />
</Routes>
</main>
</>
)
}