A dedicated repository where I implement and practice everything I learn from the "100 Days Java Backend – Zero to Hero" course by Faisal Memon.
This repo captures my journey from Core Java fundamentals to building REST APIs with Spring Boot, with a strong focus on writing clean, production-ready backend code.
- Build a solid Core Java foundation tailored for backend development
- Understand Spring Framework internals (IoC, DI, Beans, Auto-wiring) before diving into Spring Boot
- Develop real REST APIs with Spring Boot, following best practices like DTOs, exception handling, pagination, and API versioning
- Create a portfolio-worthy backend showcase that reflects consistency, curiosity, and problem-solving skills
I've been actively following the 100 Days Java Backend playlist and have completed content up to Spring Boot – Day 15
Core Java for Backend Development
- Control flow, methods, classes, and objects
- Object-oriented programming (OOP) concepts
- Collections framework and Streams for data handling
- Functional programming basics
Spring Framework Fundamentals
- Why Spring Framework exists and what problems it solves
- Inversion of Control (IoC) and Dependency Injection (DI)
- Understanding Beans and Auto-wiring
- How Spring Boot simplifies configuration while knowing what happens "behind the scenes"
Spring Boot – Building REST APIs
- Creating controllers and REST endpoints
- Working with DTOs (Data Transfer Objects)
- Layered architecture and separation of concerns
- Introduction to exception handling concepts
- Understanding pagination, sorting, and API versioning principles
-
Consistency & Discipline
Following a structured 100-day backend roadmap and tracking progress through actual code, not just notes -
Strong Backend Fundamentals
Not just "making things work" but understanding why Spring and Spring Boot behave the way they do, and how to design maintainable APIs -
Clean Code & Best Practices
- Separation of layers (Controller, Service, Repository)
- DTO usage to avoid exposing internal models
- Adopting patterns used in real production systems
-
Self-Driven Learning
Treating this repo as a personal lab to experiment, refactor, and learn through hands-on practice
Language: Java
Frameworks:
- Spring Framework (Core concepts - IoC, DI, Beans)
- Spring Boot (REST APIs, Auto-configuration)
Build Tools:
- Maven / Gradle
IDE: IntelliJ IDEA
Note: Adjust folder names based on your actual structure
Spring-and-Spring-Boot/ ├─ core-java/ # Practice code for Java fundamentals & OOP ├─ spring-basics/ # Spring Framework concepts (IoC, DI, Beans) ├─ spring-boot/ # Spring Boot REST API projects └─ notes/ # Personal notes and learnings
Each folder represents a step in my learning journey. As I progress through the course, this will expand with database integration, advanced features, and real-world projects.
General steps (may vary per module):
-
Clone the repository git clone https://github.com/mustaalikanchwala/Spring-and-Spring-Boot.git cd Spring-and-Spring-Boot
-
Navigate to the desired module cd spring-boot/
-
Build & run with Maven or Gradle
- Maven:
mvn spring-boot:run - Gradle:
./gradlew bootRun
- Access the API
- Default:
http://localhost:8080 - Check controller mappings in each project for specific endpoints
As I continue with the playlist beyond Day 15, this repo will grow with:
- Full CRUD operations with proper validation
- Global exception handling using
@RestControllerAdvice - Database integration with JPA/Hibernate
- More advanced Spring Boot features and real-world API design patterns.
This repo is both a learning log and a portfolio piece .
If you have suggestions or feedback on code structure, best practices, or topics to explore, feel free to open an issue or reach out.
"Learning backend development is a marathon, not a sprint – and this repository is proof that consistent, focused effort builds real skills."
Course Reference: 100 Days Java Backend Free Course by Faisal Memon