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

https://github.com/azshurith/scribbly

Scribbly is a simple and elegant blogging platform built with Spring Boot. It allows users to register, login, and create, edit, view, and delete blog posts with ease.
https://github.com/azshurith/scribbly

Last synced: 12 months ago
JSON representation

Scribbly is a simple and elegant blogging platform built with Spring Boot. It allows users to register, login, and create, edit, view, and delete blog posts with ease.

Awesome Lists containing this project

README

          

# ๐Ÿ““ Scribbly

[![codecov](https://codecov.io/gh/Azshurith/scribbly/branch/master/graph/badge.svg?token=9ZF8NWC2QB)](https://codecov.io/gh/Azshurith/scribbly)
![License](https://img.shields.io/github/license/Azshurith/scribbly)
![Java](https://img.shields.io/badge/Java-17+-orange)
![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.x-brightgreen)
![Last Commit](https://img.shields.io/github/last-commit/Azshurith/scribbly)

Scribbly is a simple and elegant blogging platform built with Spring Boot. It allows users to register, login, and create, edit, view, and delete blog posts with ease.

## โœจ Features

- User registration and login
- Password encryption with BCrypt
- Post creation, viewing, editing, and deletion
- Pagination for posts list
- Role-based access control (authenticated users only for write operations)
- Thymeleaf-based UI
- Spring Cache support for improved performance

## ๐Ÿ› ๏ธ Tech Stack

- Java 17+
- Spring Boot (Web, Security, Data JPA, Cache)
- Thymeleaf
- H2 Database (can be swapped with MySQL/PostgreSQL)
- Maven or Gradle
- Bootstrap 5 (via CDN)
---

## ๐Ÿš€ Getting Started

### Prerequisites

- Java 17+
- Maven or Gradle

### Running the Application

```bash
./mvnw spring-boot:run
```

Then open your browser and go to `http://localhost:8080`.

### Build

```bash
./mvnw clean package
```

---

## ๐Ÿ” Authentication

- Users can register and login.
- All post creation, editing, and deletion requires authentication.

---

## ๐Ÿ“‚ Folder Structure

- `controller` โ€” Spring MVC controllers
- `model` โ€” JPA entities (Post, User)
- `repository` โ€” Spring Data JPA interfaces
- `service` โ€” Business logic and cache handling
- `security` โ€” Custom authentication and filters
- `templates` โ€” Thymeleaf HTML templates

---

## ๐Ÿงช Testing

Add test classes under `src/test/java/` for unit and integration testing.

---

## ๐Ÿ“„ License

This project is open-source and available under the MIT License.