feat(api): implement OpenAPI/REST API for file conversions

- Add comprehensive REST API at /api/v1 with modular structure
- Implement authentication endpoints (register, login, logout, me)
- Add converter listing and format discovery endpoints
- Create job management and file download endpoints
- Add health check endpoint for monitoring
- Set up CORS support for browser-based API clients
- Create API middleware for JWT authentication
- Add environment variables for API configuration
- Include comprehensive API documentation and test script

Infrastructure:
- Enhanced CI/CD workflow for custom Docker registries
- Docker Compose setup with dev, prod, and monitoring profiles
- Claude.ai integration files for development workflow
- Environment-based configuration with .env.development

Known limitations:
- JWT authentication context needs fixing (using ALLOW_UNAUTHENTICATED=true)
- Swagger UI temporarily disabled due to composition error
- File upload endpoint needs multipart/form-data support

The API code is isolated in src/api/ directory to maintain separation
from the existing codebase, making it easy to maintain or contribute back.
This commit is contained in:
Dan Mestas 2025-07-30 14:18:13 -05:00
parent 394c98c65a
commit 71b52f6c5e
27 changed files with 3150 additions and 2 deletions

45
.claude/test.md Normal file
View file

@ -0,0 +1,45 @@
# Run Tests and Checks
Please run the following tests and checks for the ConvertX project:
1. **Type Checking**:
```bash
bun run typecheck
```
Fix any TypeScript errors found
2. **Linting**:
```bash
bun run lint
```
Fix any linting issues
3. **Unit Tests** (if available):
```bash
bun test
```
4. **Build Check**:
```bash
bun run build
```
Ensure the build completes successfully
5. **API Tests** (when implemented):
- Test authentication endpoints
- Test file upload endpoints
- Test conversion endpoints
- Test error handling
6. **Docker Build Test**:
```bash
docker build -t convertx-test .
```
7. **Integration Test** (if safe to run):
- Start the application
- Upload a test file
- Convert it
- Verify the output
Please run these checks and report any issues found. If there are failures, analyze and suggest fixes.