inital
This commit is contained in:
94
backend/README.md
Normal file
94
backend/README.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Feuerwehr Dashboard Backend
|
||||
|
||||
## Description
|
||||
Backend API for the Feuerwehr Dashboard application built with Node.js, Express, and TypeScript.
|
||||
|
||||
## Tech Stack
|
||||
- Node.js
|
||||
- Express
|
||||
- TypeScript
|
||||
- PostgreSQL
|
||||
- Winston (Logging)
|
||||
- JWT (Authentication)
|
||||
- Helmet (Security)
|
||||
- Zod (Validation)
|
||||
|
||||
## Prerequisites
|
||||
- Node.js (v18 or higher)
|
||||
- PostgreSQL (v14 or higher)
|
||||
- npm or yarn
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Create a `.env.development` file in the root directory:
|
||||
|
||||
```env
|
||||
NODE_ENV=development
|
||||
PORT=3000
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=feuerwehr_dev
|
||||
DB_USER=dev_user
|
||||
DB_PASSWORD=dev_password
|
||||
JWT_SECRET=your-secret-key-change-in-production
|
||||
JWT_EXPIRES_IN=24h
|
||||
CORS_ORIGIN=http://localhost:3001
|
||||
RATE_LIMIT_WINDOW_MS=900000
|
||||
RATE_LIMIT_MAX=100
|
||||
LOG_LEVEL=info
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Run in development mode with hot reload
|
||||
npm run dev
|
||||
|
||||
# Build TypeScript to JavaScript
|
||||
npm run build
|
||||
|
||||
# Run production build
|
||||
npm start
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
backend/
|
||||
├── src/
|
||||
│ ├── config/ # Configuration files
|
||||
│ ├── controllers/ # Route controllers
|
||||
│ ├── database/ # Database migrations
|
||||
│ ├── middleware/ # Express middleware
|
||||
│ ├── models/ # Data models
|
||||
│ ├── routes/ # API routes
|
||||
│ ├── services/ # Business logic
|
||||
│ ├── types/ # TypeScript types
|
||||
│ ├── utils/ # Utility functions
|
||||
│ ├── app.ts # Express app setup
|
||||
│ └── server.ts # Server entry point
|
||||
├── dist/ # Compiled JavaScript
|
||||
├── logs/ # Application logs
|
||||
└── package.json
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Health Check
|
||||
- `GET /health` - Server health status
|
||||
|
||||
## Scripts
|
||||
|
||||
- `npm run dev` - Start development server with hot reload
|
||||
- `npm run build` - Build TypeScript to JavaScript
|
||||
- `npm start` - Run production server
|
||||
- `npm test` - Run tests (not yet implemented)
|
||||
|
||||
## License
|
||||
ISC
|
||||
Reference in New Issue
Block a user