# ankit5183/spring-boot-beginner-projects architecture

> Architecture diagram of the GitHub repository ankit5183/spring-boot-beginner-projects, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ankit5183/spring-boot-beginner-projects
- Repository: https://github.com/ankit5183/spring-boot-beginner-projects

## Overview

This repository contains three separate Spring Boot examples: a department–employee one-to-many mapping, a basic website, and a book-management application. The book app’s documented user journey covers registration and login, followed by book creation, listing, updating, and deletion; the README also identifies JWT-based security. The graph preserves the major capabilities and separates the examples. Source excerpts are available only for the mapping entities and a website script, so wiring between controllers, services, and repositories is omitted where it cannot be verified.

Main entry points: [`Book Management Application with Springboot /src/main/Java/User/AuthController`](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/AuthController) (Auth Controller), [`Book Management Application with Springboot /src/main/Java/Book /Book_Controller`](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book_Controller) (Book Controller), [`Website/src/main/Java/Controller`](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Java/Controller) (Website Controller), [`Book Management Application with Springboot /src/main/Resources/Static/Register.html`](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/Register.html) (Registration Page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mapping["Department Mapping"]
  node_department_controller["Department Controller"]
  node_department_repository["Department Repository"]
  node_employee_repository["Employee Repository"]
  node_department["Department Entity<br/>[Department.Java]"]
  node_employee["Employee Entity<br/>[Employee.Java]"]
end

subgraph group_website["Basic Website"]
  node_website_controller["Website Controller"]
  node_website_template["Website Template"]
  node_website_css["Website CSS"]
  node_website_script["Panel Script<br/>[Script.js]"]
end

subgraph group_books["Book Management"]
  node_register_page["Registration Page<br/>[Register.html]"]
  node_login_page["Login Page<br/>[login.html]"]
  node_book_home["Book App Page<br/>[index.html]"]
  node_auth_controller["Auth Controller"]
  node_user_service["User Service"]
  node_security["Security Configuration"]
  node_book_controller["Book Controller"]
  node_book_entity["Book Entity<br/>[Book.entity]"]
  node_book_repository["Book Repository"]
  node_user_entity["User Entity<br/>[user.entity]"]
  node_user_repository["User Repository"]
end

node_mapping_user(("User"))
node_website_visitor(("Visitor"))
node_book_user(("Book App User"))
node_book_db[("Configured Database")]
node_jwt["JWT Security"]

node_mapping_user -->|"uses mapping API"| node_department_controller
node_department -->|"one-to-many relation"| node_employee
node_website_visitor -->|"requests page"| node_website_controller
node_website_controller -->|"serves page"| node_website_template
node_website_visitor -->|"registers"| node_register_page
node_website_visitor -->|"logs in"| node_login_page
node_register_page -->|"registers"| node_auth_controller
node_login_page -->|"authenticates"| node_auth_controller
node_auth_controller -->|"handles account"| node_user_service
node_book_user -->|"manages books"| node_book_home
node_book_home -->|"CRUD requests"| node_book_controller
node_book_controller -->|"manages records"| node_book_entity
node_book_controller -->|"book persistence"| node_book_repository
node_auth_controller -->|"JWT authentication"| node_jwt
node_security -->|"secures requests"| node_jwt
node_book_repository -->|"persists books"| node_book_db
node_user_repository -->|"persists users"| node_book_db

click node_department_controller "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Controller"
click node_department_repository "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Department%20Repository"
click node_employee_repository "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Employee%20Repository"
click node_department "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Department.Java"
click node_employee "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Employee.Java"
click node_website_controller "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Java/Controller"
click node_website_template "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/Template/Frame%20HTML%20file"
click node_website_css "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/static/CSS%20File"
click node_website_script "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/static/Script.js"
click node_register_page "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/Register.html"
click node_login_page "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/login.html"
click node_book_home "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/index.html"
click node_auth_controller "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/AuthController"
click node_user_service "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user_service"
click node_security "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/security_configuration"
click node_book_controller "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book_Controller"
click node_book_entity "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book.entity"
click node_book_repository "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book_Repository"
click node_user_entity "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user.entity"
click node_user_repository "https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user_repository"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_department_controller,node_department_repository,node_employee_repository,node_department,node_employee,node_mapping_user,node_book_user toneBlue
class node_website_controller,node_website_template,node_website_css,node_website_script,node_book_db toneAmber
class node_register_page,node_login_page,node_book_home,node_auth_controller,node_user_service,node_security,node_book_controller,node_book_entity,node_book_repository,node_user_entity,node_user_repository toneMint
class node_website_visitor,node_jwt toneIndigo
```

## Components

### Department Mapping

- [Department Controller](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Controller): `Mapping/src/main/Java/Application/Controller`
- [Department Repository](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Department%20Repository): `Mapping/src/main/Java/Application/Department Repository`
- [Employee Repository](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Employee%20Repository): `Mapping/src/main/Java/Application/Employee Repository`
- [Department Entity](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Department.Java): `Mapping/src/main/Java/Application/Department.Java`
- [Employee Entity](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Mapping/src/main/Java/Application/Employee.Java): `Mapping/src/main/Java/Application/Employee.Java`

### Basic Website

- [Website Controller](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Java/Controller): `Website/src/main/Java/Controller`
- [Website Template](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/Template/Frame%20HTML%20file): `Website/src/main/Resources/Template/Frame HTML file`
- [Website CSS](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/static/CSS%20File): `Website/src/main/Resources/static/CSS File`
- [Panel Script](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Website/src/main/Resources/static/Script.js): `Website/src/main/Resources/static/Script.js`

### Book Management

- [Registration Page](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/Register.html): `Book Management Application with Springboot /src/main/Resources/Static/Register.html`
- [Login Page](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/login.html): `Book Management Application with Springboot /src/main/Resources/Static/login.html`
- [Book App Page](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Resources/Static/index.html): `Book Management Application with Springboot /src/main/Resources/Static/index.html`
- [Auth Controller](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/AuthController): `Book Management Application with Springboot /src/main/Java/User/AuthController`
- [User Service](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user_service): `Book Management Application with Springboot /src/main/Java/User/user_service`
- [Security Configuration](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/security_configuration): `Book Management Application with Springboot /src/main/Java/User/security_configuration`
- [Book Controller](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book_Controller): `Book Management Application with Springboot /src/main/Java/Book /Book_Controller`
- [Book Entity](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book.entity): `Book Management Application with Springboot /src/main/Java/Book /Book.entity`
- [Book Repository](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/Book%20/Book_Repository): `Book Management Application with Springboot /src/main/Java/Book /Book_Repository`
- [User Entity](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user.entity): `Book Management Application with Springboot /src/main/Java/User/user.entity`
- [User Repository](https://github.com/ankit5183/spring-boot-beginner-projects/blob/Website-with-spring-boot/Book%20Management%20Application%20with%20Springboot%20/src/main/Java/User/user_repository): `Book Management Application with Springboot /src/main/Java/User/user_repository`

### Other components

- **User**
- **Visitor**
- **Book App User**
- **Configured Database**
- **JWT Security**

## Connections

- User → Department Controller: uses mapping API
- Department Entity → Employee Entity: one-to-many relation
- Visitor → Website Controller: requests page
- Website Controller → Website Template: serves page
- Visitor → Registration Page: registers
- Visitor → Login Page: logs in
- Registration Page → Auth Controller: registers
- Login Page → Auth Controller: authenticates
- Auth Controller → User Service: handles account
- Book App User → Book App Page: manages books
- Book App Page → Book Controller: CRUD requests
- Book Controller → Book Entity: manages records
- Book Controller → Book Repository: book persistence
- Auth Controller → JWT Security: JWT authentication
- Security Configuration → JWT Security: secures requests
- Book Repository → Configured Database: persists books
- User Repository → Configured Database: persists users
