|
|
2 weeks ago | |
|---|---|---|
| .github/workflows | 5 months ago | |
| docs | 4 months ago | |
| migrations | 5 months ago | |
| public | 2 months ago | |
| src | 2 months ago | |
| translations | 2 months ago | |
| .gitignore | 5 months ago | |
| .nvmrc | 8 months ago | |
| Fienta_sponsorid.webp | 7 months ago | |
| README.md | 2 weeks ago | |
| components.json | 8 months ago | |
| drizzle.config.ts | 5 months ago | |
| eslint.config.mjs | 8 months ago | |
| next.config.ts | 4 months ago | |
| package-lock.json | 3 months ago | |
| package.json | 2 weeks ago | |
| pnpm-lock.yaml | 5 months ago | |
| postcss.config.mjs | 8 months ago | |
| tsconfig.json | 8 months ago | |
README.md
Tipilan
Tipilan — a Next.js (App Router) website using TypeScript, Tailwind, Drizzle ORM and i18n (English & Estonian).
This repository contains the website front-end and database schema/migrations for the Tipilan project.
Tech stack
- Next.js 15 (App Router)
- React 19 + TypeScript
- Tailwind CSS
- Drizzle ORM (drizzle-kit) for database schema & migrations
- next-intl for internationalization (English / Estonian)
- pnpm as package manager
Requirements
- Node.js >= 22.0.0 (see
package.jsonengines) - pnpm (recommended; repo contains
pnpm-lock.yaml)
Install pnpm if you don't have it:
npm install -g pnpm
Quick start
- Clone the repo
git clone <repo-url>
cd tipilan
- Install dependencies
pnpm install
- Run development server
pnpm dev
The app uses Next's turbopack in development (next dev --turbopack). Open http://localhost:3000 by default.
Available scripts
These scripts are defined in package.json and are the recommended entry points:
pnpm dev— start development server (uses turbopack)pnpm build— production buildpnpm start— run production server after buildpnpm lint— run ESLintpnpm drizzle:generate— generate Drizzle migration artifacts for SQLitepnpm drizzle:push— push migrations to SQLite databasepnpm drizzle:studio— start Drizzle Studio
Run them with pnpm <script> (e.g. pnpm build).
Database & migrations (Drizzle)
This project uses drizzle-kit for schema generation and migrations. Migrations present in the migrations/ directory.
- Generate/refresh schema files (SQLite):
pnpm drizzle:generate
- Push migrations to the target SQLite DB:
pnpm drizzle:push
- Open Drizzle Studio:
pnpm drizzle:studio
If you are using a different database in production, update drizzle.config.ts appropriately.
Internationalization
The app uses next-intl and has translations in the translations/ and src/data/rules/ folders for English and Estonian.
Project layout (highlight)
app/— Next.js App Router pages and layoutscomponents/— React components used across the appdb/— Drizzle config and schema definitionsmigrations/— SQL migrationssrc/lib/— helper libraries and utilstranslations/— top-level translation JSON files
Explore the src tree for more feature-specific code (rules, timetable, sponsors, etc.).
Contributing
Small PRs with a clear description are welcome. When contributing:
- Keep changes focused and add tests when appropriate.
- Run
pnpm lintand make sure the dev server runs locally. - If modifying schema, add or update migrations under
migrations/and testdrizzle:push/drizzle:generateflows.
Troubleshooting & tips
- If you see an engine/node version mismatch, ensure Node >= 22.0.0 is active.
- If you need to reset the local SQLite DB used for development, remove the file your
drizzle.config.tspoints to and re-run migrations.
License
No license file is included in this repository. If you intend to publish or share, add a LICENSE file (e.g., MIT) and update this section.
Contact / Maintainers
See repository metadata or the meta/ folder for snapshots and notes. Open an issue or a PR with questions or fixes.
If you'd like, I can also:
- add a short
CONTRIBUTING.mdwith a checklist for PRs, - add a
make/pnpmscript to simplify local DB reset, - or tailor the README for end users vs developers (shorter/longer).
🎮 TIPILAN
TIPILAN is the official web platform for the TipiLAN LAN event — built using Next.js and powered by the lightning-fast Bun runtime.
⚠️ This is a work in progress! Contributions welcome.
🚀 Features
- Event information & schedule
- Stream
- Responsive dark-themed UI
- Built with Next.js, styled with Tailwind (if applicable), powered by Bun
📦 Tech Stack
- Next.js
- Bun
- TypeScript
- React
- Tailwind CSS (if used)
🛠️ Setup Instructions
📖 See docs/SETUP.md for a full setup guide on:
- ✅ Windows (native)
- 🐧 Windows with WSL
- 🐧 Linux (Ubuntu, Arch, Fedora, etc.)
🧪 Scripts
bun dev # Run development server
bun run build # Build for production
bun start # Start production server
bun test # Run tests (if configured)
bun run lint # Run linter (if configured)