Skip to content

janak27/async-data-platform

Repository files navigation

Async Data Platform

A production-inspired backend application for asynchronous CSV ingestion and processing, built with Java and Spring Boot. The project demonstrates modern backend architecture using JWT authentication, microservice-ready design, Dockerized infrastructure, and asynchronous processing concepts.

Tech Stack

  • Java 21
  • Spring Boot 3
  • Spring Security
  • JWT Authentication
  • Spring Data JPA
  • PostgreSQL
  • Flyway
  • Redis
  • Docker & Docker Compose
  • Maven
  • Lombok

Features Implemented

Authentication

  • User Registration
  • User Login
  • JWT Token Generation
  • JWT Authentication Filter
  • Password Encryption (BCrypt)
  • Protected APIs

User Module

  • User Registration
  • User Retrieval
  • Secure User Access

Job Module

  • Create Job
  • Upload CSV File
  • Store Uploaded Files Locally
  • Persist Job Metadata
  • Job Status Tracking
  • Secure Job Creation using Authenticated User
  • CRUD APIs for Jobs

Database

  • PostgreSQL
  • Flyway Database Migrations
  • Versioned Schema Management

Infrastructure

  • Dockerized PostgreSQL
  • Dockerized Redis
  • Swagger / OpenAPI
  • Global Exception Handling
  • Validation

Project Structure

auth/
common/
job/
security/
storage/
user/

Current Workflow

  1. Register User
  2. Login
  3. Receive JWT Token
  4. Upload CSV File
  5. Create Job Record
  6. Store File
  7. Persist Job Metadata

Planned Features

  • CSV Parsing
  • Record Persistence
  • RabbitMQ Integration
  • Asynchronous Job Processing
  • Redis Progress Tracking
  • WebSocket/SSE Live Progress Updates
  • AWS S3 File Storage
  • Dockerized Deployment
  • Monitoring & Metrics
  • Unit & Integration Testing
  • CI/CD Pipeline

Status

Current Progress: Authentication + Job Upload Module Completed.

About

Production-grade Spring Boot backend for asynchronous file processing, job orchestration, retries, caching, metrics, and reporting.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages