102 lines
2.1 KiB
Markdown
102 lines
2.1 KiB
Markdown
# Developer Documentation
|
|
|
|
Essential documentation for the Yaltopia Ticket Admin project.
|
|
|
|
## 📚 Documentation
|
|
|
|
### [Development Guide](./DEVELOPMENT.md)
|
|
Complete development guide including:
|
|
- Tech stack & project structure
|
|
- Quick start & setup
|
|
- Common tasks & best practices
|
|
- Troubleshooting
|
|
|
|
### [API & Service Layer Guide](./API_GUIDE.md) ⭐
|
|
**Essential reading for making API calls:**
|
|
- Service layer architecture
|
|
- All available services & methods
|
|
- Common patterns & examples
|
|
- Error handling
|
|
- Best practices
|
|
|
|
### [Testing Guide](./TESTING_GUIDE.md)
|
|
Testing setup and practices:
|
|
- Unit testing with Vitest
|
|
- Component testing
|
|
- Integration testing
|
|
- Test utilities & mocks
|
|
|
|
### [Deployment Guide](./DEPLOYMENT.md)
|
|
Production deployment:
|
|
- Pre-deployment checklist
|
|
- Deployment options (Docker, VPS)
|
|
- Environment configuration
|
|
- CI/CD setup
|
|
|
|
### [Security Guide](./SECURITY.md)
|
|
Security best practices:
|
|
- Authentication & authorization
|
|
- Data protection
|
|
- Security headers
|
|
- CORS configuration
|
|
- Input validation
|
|
|
|
## 🚀 Quick Start
|
|
|
|
```bash
|
|
# Install
|
|
npm install
|
|
|
|
# Configure
|
|
cp .env.example .env
|
|
# Edit .env with your backend URL
|
|
|
|
# Develop
|
|
npm run dev
|
|
|
|
# Test
|
|
npm run test
|
|
|
|
# Build
|
|
npm run build
|
|
```
|
|
|
|
## 📖 Key Concepts
|
|
|
|
### Service Layer
|
|
All API calls go through typed service classes:
|
|
```typescript
|
|
import { userService } from '@/services'
|
|
const users = await userService.getUsers()
|
|
```
|
|
|
|
### React Query
|
|
Data fetching with caching:
|
|
```typescript
|
|
const { data } = useQuery({
|
|
queryKey: ['users'],
|
|
queryFn: () => userService.getUsers()
|
|
})
|
|
```
|
|
|
|
### Protected Routes
|
|
Authentication required for admin routes:
|
|
```typescript
|
|
<Route element={<ProtectedRoute />}>
|
|
<Route path="/admin/*" element={<AdminLayout />} />
|
|
</Route>
|
|
```
|
|
|
|
## 🆘 Need Help?
|
|
|
|
1. **Making API calls?** → [API & Service Layer Guide](./API_GUIDE.md)
|
|
2. **General development?** → [Development Guide](./DEVELOPMENT.md)
|
|
3. **Writing tests?** → [Testing Guide](./TESTING_GUIDE.md)
|
|
4. **Deploying?** → [Deployment Guide](./DEPLOYMENT.md)
|
|
5. **Security questions?** → [Security Guide](./SECURITY.md)
|
|
|
|
---
|
|
|
|
**Last Updated:** 2024
|
|
**Maintained By:** Development Team
|