File Manager.
File storage with resilient background processing.
Selected work
- Built a Spring Boot and React app with S3 file storage, presigned download links, and PostgreSQL metadata.
- Moved Tesseract OCR into background jobs so file uploads do not wait for text extraction.
- Used PostgreSQL to queue jobs, retry failures with exponential backoff, and retain exhausted jobs in a dead-letter state.
- Added Bucket4j rate limits for login, upload, and download routes, with Caffeine storing per-user or per-IP buckets.
- Enabled HTTP/3 support through an Nginx reverse proxy and served the application over HTTPS.
- Deployed the containerized app on AWS with GitHub Actions CI/CD and configured Datadog/OpenTelemetry monitoring.
Built with
Java · Spring Boot · TypeScript · React · AWS S3 · Docker · Datadog · OpenTelemetry · PostgreSQL · Tesseract · GitHub Actions
Screenshots
