Skip to content

Maple 1.0

Choose a tag to compare

@EdizCinbas EdizCinbas released this 05 Mar 23:39
· 4 commits to main since this release
84c8022

Maple v1.0

Release date: March 5, 2026

Maple is a lightweight, self-hosted blog built with Spring Boot 3.


Features

Posts

  • Create, edit, and delete posts (admin only)
  • Markdown with GFM tables and image attributes
  • Home page shows auto-generated excerpts

Auth

  • Form login with BCrypt password hashing
  • ROLE_USER / ROLE_ADMIN — all write actions require admin
  • Public registration is disabled

Media

  • Upload images (JPEG, PNG, GIF, WebP) and videos (MP4, WebM) up to 50 MB
  • MIME type validated server-side; UUID filenames; path-traversal protected
  • Files embeddable in posts; <video> tags from /uploads/ pass through the Markdown sanitizer

Database

  • Embedded H2 file database, no setup required
  • Seed data (admin account + sample posts) inserted on first run

Frontend

  • Thymeleaf + Bootstrap, server-side rendered
  • Shared footer fragment, custom 404 page, favicon

Tech Stack

Language Java 21
Framework Spring Boot 3.2.4
Persistence Spring Data JPA + H2
Templates Thymeleaf
Markdown commonmark-java 0.22
Build Gradle

Getting Started

./gradlew bootRun

Opens at http://localhost:8080. Default credentials (seeded on first run):

  • Email: admin.admin@domain.com
  • Password: password

⚠️ Change the default credentials before exposing the app to a network.

The database console is available at http://localhost:8080/h2-console.

  • JDBC URL: jdbc:h2:file:./data/blogapp
  • Username: admin
  • Password: password

⚠️ These credentials are set in application.properties and should be changed deployment.


Known Limitations

  • Single admin, no multi-author support
  • No post pagination
  • H2 is not suited for production — swap for PostgreSQL/MySQL if needed