My first backend project in Java. A learning exercise in Spring Boot and building production-ready APIs.
This API project is currently in development as part of my self-led exploration of Java and the Spring Boot ecosystem, based on the Codecademy Java & Spring Boot track. After building the NC News API in JavaScript, I wanted to deepen my understanding by tackling a similar project in a completely different tech stack. This version aims to serve as a structured, RESTful backend for managing news content, including articles, users, and comments.
Though the project is still in progress, it already demonstrates core concepts like MVC architecture, JPA-based database relationships, and clean controller logic. My focus has been on writing scalable code, ensuring clear API responses, and learning best practices around Java backend development.
Key Goals
- RESTful API covering full CRUD operations
- Clean separation of concerns (
Controller → Service → Repository
) - Comprehensive error handling with clear status codes
- Secure access and role-based user permissions (planned for a later phase)
What I’m Learning
This project has been a hands-on way to:
- Explore how Spring Boot automates backend architecture
- Work with Java annotations, dependency injection, and database bindings
- Design APIs from scratch with RESTful conventions
- Compare backend development in Java vs. JavaScript
- Plan for extensibility, including auth and frontend integration
Tech Stack
- Java 17, Spring Boot 3
- PostgreSQL with JPA and Hibernate
- Gradle project structure with environment-based configs
- Swagger for documentation (planned)
- Local testing with Postman and JUnit
I’ll continue to update this entry as I build out more features and refine the codebase. 🚀