42 lines
935 B
Markdown
42 lines
935 B
Markdown
# Frontend
|
|
|
|
## Stack
|
|
- Next.js App Router with React 18 and TypeScript.
|
|
- `@tanstack/react-query` for client-side authenticated flows.
|
|
- Tailwind CSS and shadcn/ui components.
|
|
- `next-themes`, Sonner, and toast helpers for RTL UI and notifications.
|
|
|
|
## Environment
|
|
Copy `.env.sample` to `.env`.
|
|
|
|
Required variables:
|
|
- `NEXT_PUBLIC_API_BASE_URL`
|
|
- `NEXT_PUBLIC_SITE_URL`
|
|
|
|
## Development
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
The local dev server runs on `http://localhost:8080`.
|
|
|
|
## Production build
|
|
```bash
|
|
npm run build
|
|
npm run start
|
|
```
|
|
|
|
The production runtime serves on port `3000` inside Docker. Dockerfiles live only in `guilan-ace-deployment`.
|
|
|
|
## Routes
|
|
- Public SEO pages: `/`, `/about`, `/blog`, `/blog/[slug]`, `/events`, `/events/[slug]`
|
|
- Client-heavy flows: `/auth`, `/profile`, `/logout`, `/payments/result`, `/reset-password/*`, `/verify-email/*`
|
|
- Admin: `/admin/*`
|
|
|
|
## Validation
|
|
```bash
|
|
npm run lint
|
|
npm run build
|
|
```
|