Skip to content

Latest commit

 

History

History
84 lines (63 loc) · 2.65 KB

README.md

File metadata and controls

84 lines (63 loc) · 2.65 KB

Springboot Bookstore API guide

Intro

A beginner's guide to building a small REST-API using Spring Boot. This guide covers various aspects of software development including: requirements gathering, system design, development, and deployment preparations.

Note

There isn't that much info to go through. We won't look at any front-end aspects of development as this is not the purpose. However we will dive into some basic theory about MVC and REST-API services.

Keep in mind this is a beginner-friendly guide. If you're in search for an advanced/robust guide on to how to develop a functional, secure and production-ready REST-API, this is not the place. With that said and clear, I hope you find the following document of help. Good luck on your development journey and remember to keep things simple

Prerequisites

To complete this guide we recommend a previous solid foundation of:

  • Basic principles of OOP.
    • Best practices, data types, classes, abstraction, polymorphism, and design patterns.
  • Java fundamentals.
  • MySQL and SQL knowledge.
  • Java JDK installed and an IDE of your preference.

Stack

  • Java (17.0+)
  • Springboot (initializr for simplicity)
  • MySQL
  • MVC theory and application

Contents

Intro - Basic theory and concepts

  • Requirements
    • Understanding and documenting the functionality, planning, and overall description.
  • Database
    • Designing the database, normalize, creating an ER diagram, and writing SQL scripts.
  • API Setup
    • Setting up your Java environment, choosing the right plugins, frameworks, etc.
  • API Development
    • Developing Models and Repositories
  • API Services
    • Implementing Services and Controllers
  • API Controllers
    • Controllers and such
    • CORS config
  • Tests
    • Basic Tests
    • Recommendations and information on basic deployment procedures.
  • JWT
    • JWT addition and basic config

Details

For any queries/feedback or contact, you can reach out via Github

Tip

Feel free to open a PR for any corrections/suggestions

License

This project is licensed under the Creative Commons Zero v1.0 Universal License - see the LICENSE file for details.

GLHF;