The Week-by-Week Syllabus
This structured approach will guide you through essential backend concepts and technologies in a practical manner.
Week 1: RESTful API Design
What to learn: REST principles, HTTP methods, Spring Boot framework.
Why this comes before the next step: A solid understanding of RESTful APIs is foundational for backend services, allowing for effective communication between clients and servers.
Mini-project/Exercise: Build a simple CRUD API for a task manager application using Spring Boot.
Week 2: Database Management with PostgreSQL
What to learn: SQL basics, complex queries, PostgreSQL setup.
Why this comes before the next step: Mastery of database management is critical for data persistence and interaction with your APIs.
Mini-project/Exercise: Implement data storage for the CRUD API built in Week 1, integrating PostgreSQL.
Week 3: Object-Relational Mapping (ORM) with Hibernate
What to learn: Hibernate framework, mapping entities, query language (HQL).
Why this comes before the next step: ORM simplifies database interactions, allowing smoother data handling in Java applications.
Mini-project/Exercise: Enhance the task manager application by using Hibernate for data operations.
Week 4: Testing with JUnit and Mockito
What to learn: Unit testing principles, using JUnit and Mockito frameworks.
Why this comes before the next step: Reliable testing ensures that your code works as intended and allows for safe refactoring.
Mini-project/Exercise: Write unit tests for your task manager application’s services and repositories.
Week 5: Microservices and Docker
What to learn: Microservices architecture, containerization concepts, using Docker.
Why this comes before the next step: Understanding microservices prepares you for scalable applications and modern deployment strategies.
Mini-project/Exercise: Refactor the task manager into a microservices architecture and deploy using Docker.
Week 6: Continuous Integration and Deployment (CI/CD)
What to learn: CI/CD concepts, using Jenkins for automation.
Why this comes before the next step: Automating the deployment process streamlines delivery and improves collaboration in development teams.
Mini-project/Exercise: Set up a CI/CD pipeline for your microservices application to automate testing and deployment.