All checks were successful
Frontend CI / build (push) Successful in 1m37s
### Description - READMEs are also updated! ### Package Changes _No response_ ### Screenshots _No response_ ### Reference Resolves #145. ### Checklist - [x] A milestone is set - [x] The related issuse has been linked to this branch Reviewed-on: #147 Co-authored-by: SquidSpirit <squid@squidspirit.com> Co-committed-by: SquidSpirit <squid@squidspirit.com>
66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# Frontend
|
|
|
|
## Development
|
|
|
|
### Prerequisites
|
|
|
|
- [Node.js](https://nodejs.org/) (LTS version recommended)
|
|
- [pnpm](https://pnpm.io/) - Package manager
|
|
|
|
### Setup
|
|
|
|
1. Install dependencies:
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
2. Start development server:
|
|
|
|
```bash
|
|
pnpm dev
|
|
```
|
|
|
|
3. Build for production:
|
|
|
|
```bash
|
|
pnpm build
|
|
```
|
|
|
|
4. Preview production build:
|
|
```bash
|
|
pnpm preview
|
|
```
|
|
|
|
### Development Commands
|
|
|
|
- **Type checking**: `pnpm check`
|
|
- **Type checking (watch mode)**: `pnpm check:watch`
|
|
- **Linting**: `pnpm lint`
|
|
- **Formatting**: `pnpm format`
|
|
|
|
### Project Structure
|
|
|
|
The frontend is built with SvelteKit and Tailwind CSS following Clean Architecture principles:
|
|
|
|
- `src/lib/` - Core application modules organized by feature
|
|
- `src/routes/` - SvelteKit route pages
|
|
- `src/app.html` - Main HTML template
|
|
- `src/app.css` - Global styles
|
|
|
|
Each feature module in `src/lib/` follows the Clean Architecture pattern:
|
|
|
|
- `domain/` - Business logic and entities
|
|
- `application/` - Use cases and application services
|
|
- `adapter/` - Interface adapters (presenters, view models)
|
|
- `framework/` - External frameworks (UI components, API services)
|
|
|
|
### Technology Stack
|
|
|
|
- **Framework**: SvelteKit 5
|
|
- **Styling**: Tailwind CSS 4
|
|
- **UI Components**: bits-ui, Lucide icons
|
|
- **Type Safety**: TypeScript
|
|
- **Linting**: ESLint with Prettier
|
|
- **Package Manager**: pnpm
|