All projects

Full Stack · Food · REST API

Dishora

Recipes made simple,
architecture kept clean.

Dishora is a recipe discovery and management application built around a secure client-server architecture, allowing users to explore cooking content while authenticated features are protected through a modular Spring Boot REST API.

Recipe discovery backed by
a modular secure API.

Dishora is a recipe discovery and management application designed to give users a simple and organized way to explore cooking content and access structured recipe information.

The application combines a user-facing client with a secure Spring Boot REST backend, separating presentation, business logic, security and persistence responsibilities for easier maintenance and extension.

Backend
JavaSpring BootSpring Web
Security
Spring SecurityJWTCustom UserDetailsService
API
REST APIHTTPJSON
Architecture
DTOsLayered ArchitectureClient–Server
01

Recipe Discovery

Users can browse available recipes through an organized interface and explore cooking content from a single application experience.

02

Structured Recipe Details

Recipe information can be presented through structured descriptions, ingredients, preparation steps and related cooking content.

03

Secure Authentication

Registration and login are protected through Spring Security and stateless JWT authentication before users access secured application functionality.

04

Modular REST Architecture

Controllers, DTOs, application logic, security and data access responsibilities are separated into dedicated layers for maintainability and extensibility.

  1. Recipe discovery
  2. Recipe details
  3. User authentication
  4. Protected features

Clear responsibilities from
client to persistence.

Dishora follows a client-server architecture backed by a layered Spring Boot application. HTTP requests pass through REST controllers before application services coordinate business operations and data access.

The separation between API, business, security and persistence concerns keeps the application easier to maintain and extend.

  1. Client ApplicationScreens · Forms · Recipe views
  2. Spring Boot REST APIControllers · DTOs
  3. Application LayerBusiness logic · User management · Recipe operations
  4. Data Access LayerRepositories · Persistence models
  5. DatabaseUsers · Recipes · Application data
Backend layers
  1. Controller
  2. Service
  3. Repository
  4. Database

API requests and responses use dedicated DTOs instead of directly exposing persistence models.

  1. Client
  2. API request + JWT
  3. JWT filter
  4. Spring Security
  5. REST controller
  6. Application service
  7. Repository
  8. Database

Data is returned to the client as a structured JSON response.

Dishora brings recipe discovery, detailed cooking content and secure account access together through a simple client experience.

Client–Server Architecture

Frontend and backend responsibilities remain clearly separated through REST communication.

Layered Backend

Controllers, services and repositories isolate responsibilities across the application.

DTO-Based Communication

Dedicated request and response models reduce coupling between persistence and API contracts.

Stateless Security

Spring Security and JWT protect application resources without server-side sessions.

Dishora combines recipe discovery, secure authentication and modular backend design into one clean client-server experience.