mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-03-23 21:34:21 +00:00
Update nextjs
This commit is contained in:
130
README.md
130
README.md
@@ -1,3 +1,133 @@
|
||||
# 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.json` engines)
|
||||
- pnpm (recommended; repo contains `pnpm-lock.yaml`)
|
||||
|
||||
Install pnpm if you don't have it:
|
||||
|
||||
```bash
|
||||
npm install -g pnpm
|
||||
```
|
||||
|
||||
## Quick start
|
||||
|
||||
1. Clone the repo
|
||||
|
||||
```bash
|
||||
git clone <repo-url>
|
||||
cd tipilan
|
||||
```
|
||||
|
||||
2. Install dependencies
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
3. Run development server
|
||||
|
||||
```bash
|
||||
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 build
|
||||
- `pnpm start` — run production server after build
|
||||
- `pnpm lint` — run ESLint
|
||||
- `pnpm drizzle:generate` — generate Drizzle migration artifacts for SQLite
|
||||
- `pnpm drizzle:push` — push migrations to SQLite database
|
||||
- `pnpm 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):
|
||||
|
||||
```bash
|
||||
pnpm drizzle:generate
|
||||
```
|
||||
|
||||
- Push migrations to the target SQLite DB:
|
||||
|
||||
```bash
|
||||
pnpm drizzle:push
|
||||
```
|
||||
|
||||
- Open Drizzle Studio:
|
||||
|
||||
```bash
|
||||
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 layouts
|
||||
- `components/` — React components used across the app
|
||||
- `db/` — Drizzle config and schema definitions
|
||||
- `migrations/` — SQL migrations
|
||||
- `src/lib/` — helper libraries and utils
|
||||
- `translations/` — 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 lint` and make sure the dev server runs locally.
|
||||
- If modifying schema, add or update migrations under `migrations/` and test `drizzle:push`/`drizzle:generate` flows.
|
||||
|
||||
## 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.ts` points 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.md` with a checklist for PRs,
|
||||
- add a `make` / `pnpm` script 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](https://nextjs.org) and powered by the lightning-fast [Bun](https://bun.sh) runtime.
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"drizzle-orm": "^0.44.5",
|
||||
"lucide-react": "^0.522.0",
|
||||
"material-symbols": "^0.31.9",
|
||||
"next": "15.3.0",
|
||||
"next": "15.3.6",
|
||||
"next-intl": "^4.3.9",
|
||||
"next-themes": "^0.4.6",
|
||||
"react": "^19.1.1",
|
||||
|
||||
Reference in New Issue
Block a user