The Jobbie Backend powers the Jobbie job-posting platform using a microservice-oriented architecture.
It handles authentication, job posting, notifications, and data persistence for the platform.
This repository contains the backend services responsible for core business logic and API endpoints consumed by the Jobbie Frontend.
The backend provides:
- Authentication and authorization
- CRUD operations for job postings
- Notification dispatching
- Clean service separation
- Database-backed persistence
- REST API endpoints for frontend consumption
Designed for scalability, portability, and cloud deployment (Docker/Kubernetes).
The Jobbie Backend consists of several microservices (adjust based on your final implementation):
- π Auth Service (Python/Django or Node.js)
- πΌ Job Posting Service (C# ASP.NET Core)
- π Notification Service (C# or Go)
- π Listing Service (Go or C#)
- ποΈ Database Layer (PostgreSQL recommended)
Communication between services is REST (frontend) and internal REST/gRPC depending on configuration.
| Service Type | Technology |
|---|---|
| Auth Service | Python (Django REST) or Node.js |
| Job Service | C# ASP.NET Core |
| Notification | C# or Go |
| API Gateway / Proxy | Nginx / Kubernetes Ingress |
| Databases | PostgreSQL / MongoDB |
| Containerization | Docker |
| Orchestration | Kubernetes (AKS, EKS, or Minikube) |
This is a general example layout; update according to your exact repo:
Jobbie_Backend/
βββ auth-service/ # Authentication microservice
βββ job-service/ # Job posting & job details service
βββ notification-service/ # User notification service
βββ listing-service/ # Listing/searching logic
βββ docker/ # Docker and Docker Compose files
βββ k8s/ # Kubernetes manifests (if applicable)
βββ scripts/ # Deployment/utility scripts
βββ README.md
- Docker installed
- .NET SDK (if using C# services)
- Python 3.x (if using Django services)
- Go (if using Go-based services)
- PostgreSQL running locally or in a container
git clone https://github.com/ritsth/Jobbie_Backend.git
cd Jobbie_BackendInstall each microserviceβs dependencies by navigating into its folder:
cd job-service
dotnet restorecd auth-service
pip install -r requirements.txtEach service should have its own .env file.
DB_URL=postgresql://username:password@localhost:5432/jobbiedb
JWT_SECRET=your-secret-keyCONNECTION_STRING=Server=localhost;Port=5432;Database=jobdb;User Id=postgres;Password=password;Run each microservice individually:
C# ASP.NET Service
cd job-service
dotnet runPython Service
cd auth-service
python manage.py runserverIf you have a docker-compose.yml:
docker compose up --buildkubectl apply -f k8s/POST /auth/login
POST /auth/register
GET /auth/me
GET /jobs
GET /jobs/{id}
POST /jobs
PUT /jobs/{id}
DELETE /jobs/{id}
POST /notify
Run tests in each microservice folder.
For C# services:
dotnet testFor Python services:
python manage.py testFROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "JobService.dll"]docker build -t jobbie-job-service .
docker run -p 8001:80 jobbie-job-servicegit checkout -b feature/my-featureOpen a pull request once changes are committed.