Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sandesh300/blog-app-backend

Blog web application using Java, SpringBoot, Angular, Spring Security, MySQL.
https://github.com/sandesh300/blog-app-backend

angular java mysql spring-boot spring-jpa spring-mvc spring-security-jwt

Last synced: about 1 month ago
JSON representation

Blog web application using Java, SpringBoot, Angular, Spring Security, MySQL.

Awesome Lists containing this project

README

        

# Blog App Web Application

## Introduction -
This project is a Blog App web application developed using Java, Spring Boot, Angular, Spring Security, JWT Authentication, and MySQL. It provides users with functionalities to create, read, update, and delete blog posts, as well as authentication and authorization features to secure the application.

## Technologies -
- **Java**: Programming language used for backend development.
- **Spring Boot**: Framework for building Java-based web applications.
- **Angular**: Frontend framework for building dynamic web applications.
- **Spring Security**: Provides authentication, authorization, and other security features.
- **JWT (JSON Web Tokens)**: Used for stateless authentication by generating and verifying tokens.
- **MySQL**: Relational database management system for storing application data.

## Features -
- User Registration: Allows users to create new accounts with unique usernames and passwords.
- User Authentication: Secure authentication using JWT tokens.
- Blog Post Management: Enables users to create, read, update, and delete their blog posts.
- Authorization: Restricts access to certain functionalities based on user roles (e.g., admin, regular user).
- Password Encryption: Safely stores user passwords using encryption techniques.
- Responsive Design: Provides a user-friendly experience across different devices and screen sizes.

## Architecture -
The application follows a standard client-server architecture:
- **Backend (Server)**: Developed using Java and Spring Boot, it handles business logic, data storage, and authentication/authorization.
- **Frontend (Client)**: Built using Angular, it provides the user interface for interacting with the application.
- **Database**: MySQL is used as the database management system to store blog posts, user information, and other data.

## Modules -
The key modules of the application include:
- **Authentication Module**: Implements user registration, login, and JWT token generation.
- **Blog Module**: Manages the creation, retrieval, updating, and deletion of blog posts.
- **User Module**: Handles user-related functionalities such as profile management and password reset.
- **Security Module**: Configures Spring Security to secure endpoints and enforce access control.

## Images -
### Home Page -
![Screenshot (1047)](https://github.com/sandesh300/Blog-App-Backend/assets/92014891/a9091d90-6ed8-430f-9c69-313d950468c2)
### Sign up Page -
![Screenshot (1051)](https://github.com/sandesh300/Blog-App-Backend/assets/92014891/31ac3398-9a25-4598-9066-068c6923078c)
### Login Page -
![Screenshot (1054)](https://github.com/sandesh300/Blog-App-Backend/assets/92014891/547f055a-2f0a-49de-aa03-cc8dc7c02116)
### Create Blog Page -
![Screenshot (1058)](https://github.com/sandesh300/Blog-App-Backend/assets/92014891/3c3d35ac-ae92-493b-801c-f4223abf96d9)
### Read Blog Page -
![Screenshot (1059)](https://github.com/sandesh300/Blog-App-Backend/assets/92014891/db533141-9a17-4e30-8a90-c024a03d0e82)