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

https://github.com/hmaach/01blog-archive

01Blog is a social blogging platform where students can share their learning experiences, discoveries, and progress. Built with Java Spring Boot (backend) and Angular (frontend)
https://github.com/hmaach/01blog-archive

01-edu angular java spring-boot zone01oujda

Last synced: 8 months ago
JSON representation

01Blog is a social blogging platform where students can share their learning experiences, discoveries, and progress. Built with Java Spring Boot (backend) and Angular (frontend)

Awesome Lists containing this project

README

          

# 01Blog

## Overview

In this project, you will build a social blogging platform called **01Blog**, where students can share their learning experiences, discoveries, and progress throughout their journey. Users can interact with each other’s content, follow one another, and engage in meaningful discussions.

You will develop this platform as a fullstack application, using **Java Spring Boot** for the backend and **Angular** for the frontend. The project covers essential features such as REST API development, user authentication, media handling, and more.

### Key Features:

* User registration and secure login
* Role-based access control (User vs Admin)
* Media uploads (Images/Video)
* Real-time post interactions (Likes/Comments)
* Admin panel for content moderation

## Clean Architecture

**Clean Architecture** is a software design philosophy that emphasizes separation of concerns, testability, and scalability. It structures your application into layers, each with a specific responsibility, making it easier to maintain and extend.

* **Entities**: Core business logic, independent of any external dependencies.
* **Use Cases**: Application-specific business rules.
* **Interface Adapters**: Converts data from external sources into a format that can be understood by the use cases and entities.
* **Frameworks & Drivers**: External agents such as databases, web frameworks, or UI components.

[Read more about Clean Architecture](https://medium.com/@souzaluis/applying-clean-architecture-in-java-with-spring-boot-framework-part-iv-a3cb82d5421a)

![Clean Architecture Diagram](./docs/assets/clean_architecture.png)

---

## Backend Documentation

For more detailed backend implementation and setup instructions, please check the [Backend Documentation](./docs/README-backend.md).

---

## Database Schema

For more detailed, please check the [Database Schema](https://dbdiagram.io/d/01Blog-68c981561ff9c616bdf62bbc).

---

### Technologies Used:

* **Java**: Spring Boot, Spring Security
* **SQL**: PostgreSQL
* **Frontend**: Angular
* **Docker**