73 lines
1.3 KiB
Markdown
73 lines
1.3 KiB
Markdown
# Image Manager - Backend Server
|
|
|
|
Node.js/Express backend for the Image Manager System with JWT authentication and image compression.
|
|
|
|
## Features
|
|
|
|
- JWT-based authentication
|
|
- Role-based access control (HR, SLIP)
|
|
- Image upload and compression
|
|
- File management API
|
|
- ZIP file creation
|
|
- Auto-delete functionality
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Create a `.env` file with:
|
|
```
|
|
PORT=5000
|
|
JWT_SECRET=your_secret_key
|
|
JWT_EXPIRE=7d
|
|
NODE_ENV=development
|
|
MAX_FILE_SIZE=50000000
|
|
COMPRESSION_QUALITY=80
|
|
```
|
|
|
|
## Running
|
|
|
|
```bash
|
|
# Production
|
|
npm start
|
|
|
|
# Development with auto-reload
|
|
npm run dev
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
### Auth
|
|
- `POST /api/auth/signup` - Register
|
|
- `POST /api/auth/login` - Login
|
|
|
|
### Files
|
|
- `GET /api/files/list` - Get source images
|
|
- `GET /api/files/outputs` - Get compressed images
|
|
- `POST /api/files/upload` - Upload image
|
|
- `POST /api/files/upload-multiple` - Bulk upload
|
|
- `POST /api/files/compress/:filename` - Compress
|
|
- `POST /api/files/compress-multiple` - Batch compress
|
|
- `GET /api/files/download/:filename` - Download
|
|
- `POST /api/files/download-zip` - Download ZIP
|
|
- `DELETE /api/files/delete/:filename` - Delete
|
|
|
|
## Dependencies
|
|
|
|
- express
|
|
- cors
|
|
- jsonwebtoken
|
|
- bcryptjs
|
|
- sharp
|
|
- multer
|
|
- archiver
|
|
- dotenv
|
|
|
|
## Port
|
|
|
|
Default: 5000
|