PathFinder is a cloud-based Smart Internship Management System developed to connect students, companies, and administrators through a centralized internship management platform.
This repository contains the backend REST API developed using ASP.NET Core Web API. The system implements secure authentication, role-based authorization, automated CI/CD pipelines, and cloud deployment using modern DevOps practices.
Frontend (React – Vercel)
↓
Backend API (.NET Web API – Docker Container)
↓
Azure Web App (Cloud Hosting)
↓
Azure SQL Database
CI/CD Workflow:
Developer → GitHub → GitHub Actions → Docker → Docker Hub → Azure Web App → Live Application
| Category | Technology |
|---|---|
| Backend Framework | ASP.NET Core Web API (.NET 8) |
| Programming Language | C# |
| Authentication | JWT Authentication |
| Password Security | BCrypt |
| Database | Azure SQL Database |
| Containerization | Docker |
| CI/CD | GitHub Actions |
| Container Registry | Docker Hub |
| Cloud Platform | Microsoft Azure |
| API Documentation | Swagger |
PATHFINDER_BACKEND/
│
├── .github/
│ └── workflows/
│
├── bin/
├── obj/
│
├── Controllers/
├── Data/
├── Databases/
├── DTOs/
├── Models/
├── Repositories/
├── Services/
├── Properties/
│
├── .dockerignore
├── .gitignore
├── appsettings.json
├── docker-compose.yml
├── Dockerfile
│
├── PathFinder_Backend.sln
├── PathFinderBackend.csproj
├── PathFinderBackend.http
├── Program.cs
│
└── README.md
| Branch | Purpose |
|---|---|
| main | Production deployment |
| develop | Integration testing |
| QA | Testing |
| devops | CI/CD configuration |
This branching strategy ensures controlled development and stable releases.
- .NET SDK 8+
- Docker Desktop
- Git
- Azure SQL Database access
git clone https://github.com/Jenitha23/PathFinder_Backend.git
cd PathFinder_Backend
Run Application (Without Docker)
dotnet restore
dotnet build
dotnet runApplication URL: http://localhost:5249
Swagger Documentation: http://localhost:5249/swagger
Environment Configuration Sensitive credentials are managed using environment variables.
Configure locally or in Azure Web App:
- ConnectionStrings__DefaultConnection=
- Jwt__Key=
- Jwt__Issuer=PathFinder
- Jwt__Audience=PathFinderUsers
Docker Containerization Build Docker Image
docker build -t pathfinder-backend .
Run Docker Container
docker run -p 8080:8080 pathfinder-backend
Docker ensures consistent environments across development, testing, and production.
Triggered on code push:
- Source checkout
- Build validation
- Unit testing
- Docker image build
Triggered when code is merged into main branch:
- Docker image built automatically
- Image pushed to Docker Hub
- Azure Web App pulls latest container
- Backend redeployed automatically
- .github/workflows/
Backend Hosting
- Azure Web App (Container-based deployment)
- Docker Hub stores versioned images
Database
- Azure SQL Database with secure connectivity
Security Implementation
- JWT-based authentication
- Role-based authorization (ADMIN / STUDENT / COMPANY)
- BCrypt password hashing
GitHub Secrets for credentials
- Secure environment variable management
- No sensitive data stored in source code