Five-Project Series

Create APIs Using API Design Patterns you own this product

prerequisites
web services • microservices and microservices architecture • Java • Spring Boot and Spring Framework
skills learned
advanced REST API-based microservices programming • API design-first approaches • single request and response patterns • bulk operations • microservices security best practices
Harihara Subramanian
5 weeks · 6-8 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


You’re a software developer for Greengrocer, a chain of supermarkets that’s losing productivity (and its customer base) thanks to a monolithic web app that can’t keep up with demand. In this series of liveProjects, you’ll design and develop three REST APIs that integrate with legacy modules while increasing scalability and addressing typical supermarket challenges. You’ll deploy your APIs to the cloud and prepare them to be accessed by Greengrocer’s UI and other software services.

As you work, you’ll implement key API design patterns, including the naming of APIs, defining of resources and their scope, and custom method definitions to ensure your APIs are scalable, fast, fail-safe, and developer- and client-friendly. These liveProjects offer explicit instruction on modern API design patterns and high-level implementation that enables you to adopt, create, deploy, and test in a short time.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

I really liked the use case which walks you through the thought process involved in designing a good REST API and the importance of documenting the same.

Deepak Maithani

here's what's included

Project 1 Product Catalog API

You’re a software developer for Greengrocer, a chain of supermarkets that’s revamping its monolithic software to better handle its growing customer base. Using a design-first approach and the OpenAPI Specification, your task is to design a product catalog API to help employees track inventory. You’ll write API definitions through YAML description files and generate code and documentation for the API. When you’re done, you’ll have firsthand experience with OpenAPI Specification, YAML syntax, and schema definitions, and you’ll have improved the developer experience with good documentation.

Project 2 Product Supplier API

Greengrocer’s monolithic web app is suffering growing pains. As a software developer for this chain of mid-sized supermarkets, your task is to design a supplier API to help define various resources, resource types, and resource relationships. Using an API design-first approach, you’ll design the microservice API’s resource layout, establish data type definitions for the API in YAML, then add CRUD (create, read, update and delete) as well as partial read and update functionalities for price details.

Project 3 Administrator API

Greengrocer has built a new supplier API as part of its endeavor to handle growing market demand. Your task, as a software developer on its IT team, is to enhance this microservices API—and the administrator experience—by designing and developing custom methods that address exceptional side effects, implementing long-running jobs, and clearly defining the interactions between them.

Project 4 API Orchestration

Greengrocer, a chain of mid-sized supermarkets, has been revamping its software to keep up with market demand. As a software developer on the IT team, your task is to enhance the newly built supplier API by implementing business logic using three API design patterns: the singleton sub-resource pattern to facilitate independent and asynchronous operations, the cross-reference pattern to decouple the supplier location API from the supplier API, and the association resources pattern to maintain relationships with various resources.

Project 5 Authentication and Authorization

Greengrocer, a chain of mid-sized supermarkets, has been upgrading its web app to keep employees—and its growing customer base—happy. As a software developer on their IT team, your task is to design a ledger API that will serve as a background REST service and help analyze data. Using advanced API design patterns, you’ll implement functionality for anonymous writes, applying filters, and API authentication and authorization with JWT.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Create APIs Using API Design Patterns project for free

project author

Harihara Subramanian J

With a proven track record in software development, software architecture principles, and implementations, Hari Subramanian has been working with software development and various software architecture concepts since 1999. He’s designed and developed over 20 microservice applications adhering to API design principles and API design patterns and has an affinity for patterns and anti-patterns.

Cloud native computing, cloud architecture, legacy product transformations, cloud migration strategies, and cloud design patterns are his current areas of focus. He’s also an active contributor to various forums on different technologies and has co-authored the books Architecture Patterns and Hands-on RESTful API Design Patterns and Best Practices.

Prerequisites

These liveProjects are for learners who want to gain practical experience with RESTful API, microservices, design principles, and API design patterns. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Any Java IDE
  • JDK 8 or higher
TECHNIQUES
  • API Design-First
  • Open API Spec
  • SLA and Payloads
  • JSON
  • XML

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.