Acaris is a backend system designed to manage academic consultation processes between students and lecturers. This project implements a cloud-native microservices architecture integrated with a CI/CD pipeline to improve system scalability, reliability, and deployment efficiency.
The system is deployed using Google Cloud Run and utilizes Docker containerization with automated workflows via GitHub Actions.
- Implement a backend system using microservices architecture
- Automate build, testing, and deployment using CI/CD
- Evaluate system performance using DORA metrics
- Ensure system reliability through comprehensive testing
- Microservices
- REST API
- Cloud-native deployment
- Auth Service β Authentication & authorization
- Acaris Service β Core academic features
- Chatbot Service β Automated assistance
- Node.js
- Express.js
- Docker
- GitHub Actions (CI/CD)
- Google Cloud Run
- (Relational / NoSQL depending on implementation)
- Firebase Authentication
/services
/auth-service
/acaris-service
/chatbot-service
/docker
/.github/workflows
The CI/CD pipeline is implemented using GitHub Actions and includes:
1. Code Push (GitHub)
2. Build Process
3. Automated Testing
4. Docker Image Build
5. Push to Container Registry
6. Deploy to Google Cloud Run
- Faster deployment cycles
- Reduced manual errors
- Continuous integration and delivery
Each service is containerized using Docker:
docker build -t service-name .
docker run -p 3000:3000 service-name
Deployment is handled via Google Cloud Run:
GitHub β GitHub Actions β Docker Image β Cloud Run
- Scalable
- Serverless
- Fully managed
POST /auth/register
POST /auth/login
GET /schedules
POST /booking
GET /documents
POST /chatbot
- Validate all API endpoints
- Ensure correct response and status codes
- Validate interaction between services
- Ensure existing features remain stable after updates
-
Tool: Apache JMeter
-
Scenarios:
- 50 users
- 100 users
-
Metrics:
- Response Time
- Throughput
- Error Rate
- Pipeline duration
- Success/failure rate
- Deployment frequency
- Fully functional backend system
- Automated CI/CD pipeline
- Cloud-deployed microservices
- Comprehensive testing results
- Performance evaluation using DORA metrics
1. Local Development
2. API Testing (Postman)
3. Dockerization
4. Manual Deployment
5. CI/CD Implementation
6. Automated Testing
7. Data Collection & Evaluation
- Name: M. Arifin Syam
- Program: Informatics Engineering
- Project: Thesis Implementation (CI/CD Microservices System)
This project is developed for academic purposes.