Week 8 - Assessment
๐ Purpose of Assessment
The goal of this assessment is to evaluate your understanding of:
- Docker fundamentals
- Containerization concepts
- Docker commands
- Dockerfiles
- Spring Boot containerization
- Docker Compose
- Deployment basics
- Troubleshooting and debugging
This assessment focuses not only on theoretical knowledge but also on practical backend engineering skills.
๐ฏ Assessment Objectives
By the end of this assessment, the learner should be able to:
- Explain Docker concepts clearly
- Build Docker images independently
- Run and manage containers
- Containerize a Spring Boot application
- Connect applications with databases using Docker Compose
- Debug basic container-related issues
- Demonstrate understanding of deployment workflows
๐ Assessment Breakdown
| Category | Weightage |
|---|---|
| Docker Fundamentals | 15% |
| Docker Commands | 15% |
| Dockerfile Understanding | 20% |
| Spring Boot Containerization | 20% |
| Docker Compose | 15% |
| Debugging and Troubleshooting | 10% |
| Code Quality and Best Practices | 5% |
๐งช Practical Assessment Tasks
Task 1 - Docker Installation Verification
Objective
Verify Docker installation and environment setup.
Expected Activities
- Install Docker
- Verify Docker version
- Run hello-world container
Evaluation Criteria
| Criteria | Marks |
|---|---|
| Docker installed correctly | 5 |
| Docker commands working | 5 |
| hello-world executed successfully | 5 |
Total: 15 Marks
Task 2 - Docker Command Usage
Objective
Demonstrate ability to use essential Docker commands.
Expected Activities
Perform the following:
- List running containers
- List all images
- Start containers
- Stop containers
- Remove containers
- View logs
Evaluation Criteria
| Criteria | Marks |
|---|---|
| Correct command usage | 10 |
| Understanding command purpose | 5 |
| Proper execution | 5 |
Total: 20 Marks
Task 3 - Create Dockerfile for Spring Boot Application
Objective
Containerize a Spring Boot application.
Expected Activities
Create a valid Dockerfile that:
- Uses Java base image
- Copies application JAR
- Exposes application port
- Starts application correctly
Evaluation Criteria
| Criteria | Marks |
|---|---|
| Correct base image | 5 |
| Proper COPY usage | 5 |
| Correct ENTRYPOINT | 5 |
| Application starts successfully | 10 |
Total: 25 Marks
Task 4 - Build and Run Docker Image
Objective
Build and execute Docker image successfully.
Expected Activities
- Build image
- Tag image
- Run container
- Access application using browser/Postman
Evaluation Criteria
| Criteria | Marks |
|---|---|
| Image built successfully | 5 |
| Container starts successfully | 5 |
| Port mapping works correctly | 5 |
| Application accessible | 5 |
Total: 20 Marks
Task 5 - Docker Compose Setup
Objective
Run application and database together using Docker Compose.
Expected Activities
Create docker-compose.yml for:
- Spring Boot application
- MySQL/PostgreSQL database
Evaluation Criteria
| Criteria | Marks |
|---|---|
| Valid docker-compose.yml | 5 |
| Database starts correctly | 5 |
| Application connects to DB | 10 |
Total: 20 Marks
๐ง Conceptual Understanding Assessment
The learner should be able to explain:
- Difference between containers and virtual machines
- Difference between images and containers
- Purpose of Dockerfiles
- Why Docker Compose is useful
- Why containerization is important in backend engineering
๐ Debugging Assessment
The learner should demonstrate ability to debug:
| Problem Scenario | Expected Skill |
|---|---|
| Container not starting | Log analysis |
| Port conflict | Port troubleshooting |
| Database connection failure | Configuration debugging |
| Image build failure | Dockerfile troubleshooting |
๐ Code and Configuration Quality
Evaluation will also include:
- Dockerfile readability
- Correct indentation
- Proper naming
- Clean configuration
- Avoiding unnecessary complexity
๐ Submission Requirements
The learner should submit:
- Dockerfile
- docker-compose.yml
- Spring Boot application source code
- Screenshots/logs of successful execution
- README instructions for execution
๐ Performance Levels
| Level | Description |
|---|---|
| Excellent | Strong understanding with independent execution |
| Good | Minor mistakes but concepts understood |
| Satisfactory | Basic understanding with guidance required |
| Needs Improvement | Significant conceptual or practical gaps |
๐ก Mentor Review Focus Areas
The mentor will evaluate:
- Confidence while explaining concepts
- Problem-solving ability
- Debugging approach
- Practical understanding
- Attention to detail
- Ability to work independently
โ Assessment Completion Criteria
The learner is considered successful if they can:
- Independently build Docker images
- Run containerized applications
- Use Docker Compose successfully
- Debug basic deployment problems
- Explain containerization fundamentals clearly
๐ Real Industry Relevance
This assessment reflects real-world backend engineering expectations where developers are often expected to:
- Package applications
- Run services locally
- Debug deployment issues
- Collaborate with DevOps teams
- Understand cloud-native workflows
๐ License
This project is licensed under the GNU GPL-3.0 License.
Maintained by Aditya Pratap Bhuyan LinkedIn: https://linkedin.com/in/adityabhuyan