clqms-fe1/README.md

109 lines
3.2 KiB
Markdown
Raw Normal View History

2026-02-08 17:39:53 +07:00
# CLQMS Frontend - Phase 1 Complete
## Project Setup Summary
**Framework:** SvelteKit with TypeScript
**Styling:** Tailwind CSS v4 + DaisyUI v5
**Package Manager:** pnpm
**Deployment:** Static adapter (SPA mode)
## Quick Start
```bash
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm preview
```
## Project Structure
```
src/
├── app.css # Global styles with DaisyUI theme
├── app.d.ts # TypeScript declarations
├── app.html # HTML template
├── hooks.server.ts # Server hooks (auth middleware)
├── lib/
│ ├── components/
│ │ ├── index.ts # Component exports
│ │ ├── layout/
│ │ │ ├── Header.svelte # App header with user menu
│ │ │ └── Sidebar.svelte # Navigation sidebar
│ ├── server/
│ │ └── api.ts # API client wrapper
│ ├── stores/
│ │ ├── auth.ts # Auth state management
│ │ └── index.ts # Store exports
│ └── types/ # TypeScript types (to be added)
└── routes/
├── +layout.svelte # Root layout
├── +page.svelte # Landing page (redirects to login)
├── (app)/ # Protected app routes
│ ├── +layout.svelte # App layout with sidebar
│ └── dashboard/
│ └── +page.svelte # Dashboard page
└── (auth)/ # Public auth routes
├── +layout.svelte # Auth layout (no sidebar)
└── login/
└── +page.svelte # Login page
build/ # Production build output
```
## Configuration Files
- `svelte.config.js` - SvelteKit config with static adapter
- `vite.config.ts` - Vite config with Tailwind plugin
- `tsconfig.json` - TypeScript configuration
- `.env` - Environment variables
## Features Implemented
- SvelteKit project initialized with TypeScript
- Tailwind CSS v4 + DaisyUI v5 configured
- Forest theme with medical green colors
- Static adapter for static hosting
- API client with fetch wrapper
- Auth store for state management
- Server hooks for auth middleware
- Login page (converted from template)
- Dashboard page with stats cards
- Sidebar navigation component
- Header component with user menu
- Responsive layout
## Environment Variables
Create a `.env.local` file for local overrides:
```bash
PUBLIC_API_BASE_URL=http://localhost/clqms01/
PUBLIC_API_BASE_URL_PROD=https://clqms01-api.services-summit.my.id/
```
## Next Steps (Phase 2)
1. Implement actual login API integration
2. Add JWT token handling
3. Create protected routes
4. Add logout functionality
5. Implement password change
## Build Output
The production build is generated in the `build/` folder and can be deployed to any static hosting service (Netlify, Vercel, GitHub Pages, etc.).
## Notes
- DaisyUI v5 uses Tailwind v4's new CSS-first configuration
- The forest theme uses medical green (#2d6a4f) as primary color
- Static adapter configured with fallback for SPA routing