Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JobBoard Application Stack

This repository houses the core application services for JobBoard, a production-grade full-stack platform connecting job seekers and employers. The platform is engineered with a decoupled architecture, strict authentication patterns, and built-in cloud-native telemetry.

🛠️ Technology Stack

  • Frontend: React (SPA)
  • Backend: Django / Django REST Framework (DRF)
  • Database: PostgreSQL (PL/SQL / Relational)
  • Authentication: JWT (JSON Web Tokens via rest_framework_simplejwt)
  • Telemetry & Metrics: django-prometheus (Exposing /metrics for Prometheus scraping)

🏗️ Core Architecture Overview

1. Django Backend & API Layer

The backend is built using Django REST Framework (DRF) to expose high-performance, stateless REST APIs. It handles the core business logic, relational data modeling, query optimization, and structured JWT token issuance/rotation.

2. React Frontend Layer

A modern React Single Page Application (SPA) that handles consumer state, client-side routing, and interactive forms for users and employers. It communicates asynchronously with the Django backend using secure HTTP client layers, managing session lifespan via short-lived JWT tokens.

3. PostgreSQL Database

A robust relational database layer utilizing PostgreSQL. The database handles structured mapping for complex multi-table operations (such as linking Users, Job Profiles, Applications, and Saved Job States) utilizing relational constraints, foreign keys, and indexes for performant lookups.


🗺️ API Route Mapping

All endpoints are strictly versioned or grouped behind structural prefixes. Below is the full system routing matrix configured in the application:

🔐 Authentication Module (/api/auth/)

Handles user identity management, registration workflows, and token validation lifecycles.

Endpoint Method Description
/api/auth/register/ POST Register a new user or employer account
/api/auth/login/ POST Authenticate credentials & return access/refresh JWT tokens
/api/auth/token/refresh/ POST Exchange a valid refresh token for a new short-lived access token
/api/auth/profile/ GET/PUT Retrieve or update current authenticated user profile data
/api/auth/change-password/ POST Securely update authenticated user password

💼 Job & Application Module (/api/jobs/)

Manages job board postings, analytics, categorization, and the underlying recruitment state machines.

Endpoint Method Description
/api/jobs/ GET/POST List all open jobs (with filters) or create a new job posting
/api/jobs/stats/ GET Retrieve aggregate metrics and data dashboards for job analytics
/api/jobs/categories/ GET List available industry categories for job classifications
/api/jobs/my-jobs/ GET List jobs posted by or relevant to the current authenticated user
/api/jobs/saved/ GET Fetch the authenticated candidate's list of bookmarked/saved jobs
/api/jobs/<slug:slug>/ GET/PUT/DEL View detail, modify, or remove a specific job using its unique slug
/api/jobs/<slug:slug>/applications/ GET View all candidate applications submitted for a specific job posting
/api/jobs/<slug:slug>/save/ POST Toggle the save/bookmark state for a specific job posting
/api/jobs/applications/all/ GET/POST Global view of applications or submit a new application packet
/api/jobs/applications/<int:pk>/ GET/PATCH Retrieve details or modify the state of a specific application by ID

🛠️ Core Operations, Storage & Admin

Endpoint Protocol / Mechanism Description
/admin/ HTTP Built-in Django administrative portal for data management
/metrics HTTP (Prometheus) Live application performance metrics exported via django-prometheus
/api/health HTTP Lightweight health-check endpoint for ALB / ECS container target group probes
MEDIA_URL Static File Storage Configured route for serving user-uploaded static media files (e.g., Resumes)

☁️ Infrastructure & Cloud Architecture

The cloud topography for JobBoard is managed entirely as code via highly descriptive, reusable Terraform module blueprints across a multi-cloud network mesh encompassing Amazon Web Services (AWS) and Google Cloud Platform (GCP).

🌐 Cross-Cloud Enterprise Topology

  • AWS Architecture (ap-south-1): Serves as the primary immutable compute edge layer. An internet-facing Application Load Balancer routes client requests securely to a private Amazon ECS (Elastic Container Service) Fargate cluster backed by AWS Identity and Access Management (IAM) Least-Privilege profiles.
  • GCP Architecture (asia-south1): Houses the transactional core database engines using managed Google Cloud SQL instances. The cluster links back securely to private service networks, guaranteeing structural isolation.
  • Inter-Cloud Connectivity (vpn): Connects AWS resources to GCP network layers via an authenticated, stable Site-to-Site VPN gateway configuration mesh.

📦 Modular Infrastructure Directory Index

The system's low-level components are split across specialized sub-directories within infrastructure/modules/:

🏗️ Compute & App Orchestration

  • aws-ecs-cluster: Registers logical platform namespaces to aggregate container compute groups.
  • aws-ecs-td: Generates immutable JSON-formatted task definitions specifying memory boundaries, environment scopes, and storage mounting hooks.
  • aws-ecs-service: provisions rolling task orchestration loops linked directly to ALB targets with native scaling mechanisms.
  • aws-ecr: Builds target private container registries with lifecycle policies to catalog and scan published application images.

🛡️ Boundary Layer Security & Threat Intelligence

  • aws-waf: Controls incoming Layer 7 payload traffic using rate limits, regional geoblocking patterns, and OWASP Top 10 managed rulesets.
  • aws-guardduty: Actively scans network telemetry fields, S3 access events, and system states for malicious indicators or security exceptions.
  • aws-sg: Enforces stateful network filters separating the application tier, edge proxies, and cross-vpc delivery rails.

🔐 Data Protection, Cryptography & Routing

  • aws-kms: Handles symmetric/asymmetric master key rings to encrypt static files, backend environment maps, and storage boundaries.
  • aws-acm: Issues and automatically rotates public SSL/TLS cryptographic certificates to enforce strict HTTPS transport configurations.
  • aws-route53: Directs public DNS record trees, failover configurations, and local canonical reference alias records.

📁 Backend Storage & Data Services

  • gcp-cloud-sql: Deploys isolated Postgres relational database engines with high-availability configurations and automatic backup patterns.
  • aws-s3: Provisions secure object storage buckets designed to manage candidate documents (such as resumes) and store global infrastructure states.

🔀 Network Foundations & Auditing

  • aws-vpc & gcp-vpc: Controls public DMZ subnets, private system nodes, internal database routing rules, and NAT gateways.
  • vpn: Establishes the secure inter-cloud IPSec tunnel between AWS and GCP networks.
  • aws-endpoint: Injects private VPC endpoint interfaces to securely download dependencies from AWS S3 or ECR without crossing the public web.
  • aws-cloudtrail: Aggregates audit records of API transactions across the platform infrastructure to satisfy SOC2 compliance tracks.
  • aws-dynamodb: Handles atomic state locking during multi-developer terraform plan execution states.

About

JobBoard: A Production-Style Multi-Cloud Platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages