Welcome to the SkillSprint Backend Repository! This repository contains the backend services for our educational platform, SkillSprint, designed to provide a seamless learning experience for both learners and instructors.
- Framework: Spring Boot
- Service Discovery: Edureka Service Discovery
- API Gateway: Spring Cloud Gateway
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Containerization: Docker
- Orchestration: Kubernetes
- Docker installed on your machine
- Kubernetes installed and configured, such as Minikube
- Kube Forward app installed (for port forwarding)
- Java Development Kit (JDK) installed
- Clone the project repository:
git clone https://github.com/IsuruX98/SkillSprint-Backend.git
- Navigate to the
yml
folder:
cd yml
- Apply Kubernetes configurations for the services:
kubectl apply -f .
- Check the status of the deployed services:
kubectl get all
OR Use Minikube dashboard to monitor the status visually.
-
Port Forwarding
a. For Eureka Service Registry:
kubectl port-forward service/eureka-lb 8761:80 -n default
b. For Cloud Gateway:
kubectl port-forward service/cloud-gateway-svc 9191:80 -n default
OR Use Kube Forward app, select the Minikube cluster, and add the following port forwarding configurations:
- Resource Namespace: default
- Kind: Service
- Name: eureka-lb
- Local Port: 8761
- Resource Port: 80
Repeat the same steps for cloud-gateway-svc:
- Name: cloud-gateway-svc
- Local Port: 9191
- Resource Port: 80
- Access the services:
- Eureka Service Registry: http://localhost:8761/
- Cloud Gateway: http://localhost:9191/
- Detailed API documentation for each service can be found in the respective service directories or at [API Documentation URL].
- Authentication is implemented using JWT tokens. Users must include their JWT token in the Authorization header for protected routes.
- The backend services are designed with scalability and performance in mind, utilizing Microservices architecture and containerization with Docker and Kubernetes.
- Email and SMS Notifications: Upon successful enrollment, learners receive confirmation via email and SMS using third-party services for sending notifications.
- Isuru Madusanka
- Yasiru Deshan
- Chamith kavinda
- Sehan Deemantha