Skip to content

ayse-viv/readify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Readify — v1.0.0

v1.0.0 is the foundation. The goal was simple: build a real, working system worth growing. This version focuses on the core architectural "Vertical Slice" — moving from the database to the API endpoint.

This is a basic Library Management REST API. It's not "finished" — it's a clean, honest starting point. No validation, no complex error handling, no security yet. Just the foundation, built to grow.


⬆️ What's in v1.0.0

  • Domain Modeling: Created Book entity and BookStatus enum.
  • Persistence Layer: Added BookRepository using Spring Data JPA.
  • Service Layer: Implemented BookService with decoupled business logic.
  • Web Layer: Added BookController with standardized RESTful endpoints.
  • Architecture: Used Constructor Injection for clean, testable code.

📂 Project Structure

src/main/java/com/example/readify/
├── controller/   # REST Endpoints (The Entry Point)
├── service/      # Business Logic (The Brain)
├── repository/   # Data Access Layer (The Librarian)
└── entity/       # Database Models + Enums (Book, BookStatus)

🛠️ Tech Stack

  • Java 21 (LTS)
  • Spring Boot 3.x
  • Spring Data JPA
  • MySQL
  • Maven

🚀 Getting Started

Prerequisites

  • Java 21
  • MySQL 8.0+
  • Maven

Setup

  1. Clone the repository:
git clone https://github.com/ayse-viv/readify.git
cd readify
  1. Configure Database:
export DB_USERNAME=your_username
export DB_PASSWORD=your_password
  1. Run the Application:
./mvnw spring-boot:run

📡 API Endpoints (v1)

Method Endpoint Description
GET /api/books Fetch all books in the library
GET /api/books/{id} Fetch a specific book by ID
POST /api/books Add a new book to the database
PUT /api/books/{id} Update existing book details
DELETE /api/books/{id} Remove a book from the library

📌 Key Learning

v1.0.0 had one goal — build something working and see how it all comes together. Just get the foundation in place and understand how the layers connect. Used Claude as a guide to learn, practice, and make decisions along the way.


v2 coming soon — same project, next level. 🚀

About

Spring Boot Project #1: Readify — a self-taught journey from zero to Enterprise-Grade REST API architecture. Built in public, grown one version at a time. Clean commits, real progress, honest documentation. Not just a project — a proof of consistency. Self-taught through Docs, YouTube & AI. Java 21 + Spring Boot 3.x.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages