2 Commits

Author SHA1 Message Date
Automated Action
4c4d27fee9 Add file upload functionality to authentication service
- Add multer, mime-types, and sharp packages for file handling
- Create upload middleware with file validation and security
- Implement file and avatar upload controllers
- Add image processing with automatic avatar resizing to 200x200px
- Create upload routes for multiple file types and avatars
- Configure storage locations in /app/storage/uploads and /app/storage/avatars
- Add file type validation (images, PDFs, documents)
- Implement file size limits (10MB general, 5MB avatars)
- Add protected and public endpoints for file management
- Update README with comprehensive upload API documentation

New endpoints:
- POST /api/v1/upload/files - Upload multiple files (protected)
- POST /api/v1/upload/avatar - Upload user avatar (protected)
- GET /api/v1/upload/files - List files (protected)
- GET /api/v1/upload/files/:filename - Download file (public)
- GET /api/v1/upload/avatars/:filename - Get avatar (public)
- DELETE /api/v1/upload/files/:filename - Delete file (protected)
2025-06-27 09:59:20 +00:00
Automated Action
84cb69bf10 Rewrite authentication service from FastAPI/Python to Node.js/Express
- Replace FastAPI with Express.js framework
- Replace SQLAlchemy with Sequelize ORM
- Replace Alembic with Sequelize migrations
- Implement bcryptjs for password hashing
- Add JWT authentication with jsonwebtoken
- Create Express routes and controllers
- Add input validation with express-validator
- Implement rate limiting and security headers
- Configure CORS for all origins
- Add environment-based configuration
- Update README with Node.js setup instructions

Environment variables required:
- JWT_SECRET: JWT secret key for token signing
- NODE_ENV: Environment (development/production)
- PORT: Server port (default: 3000)
- JWT_EXPIRES_IN: Token expiration time (default: 24h)
2025-06-27 09:28:13 +00:00