GitHub - csabika98/CustomWebAppJava: A modern, full-stack blog platform built with Java Spring Boot, MongoDB, and Thymeleaf. This application features secure admin-protected endpoints for content management, uses MVC pattern

CustomWebApp - Java

๐Ÿ“ Blog Application with Admin Panel & Markdown Support

Powers sallai.tech


  • Real commits on a private repo, as this actively used for https://sallai.tech
  • ๐Ÿšง This project is in active development โ€” real progress with real commits:

image

Commit history: https://sallai.tech/release-notes


๐Ÿ–ฅ๏ธ Admin Panel

  • Create, edit, and delete blog posts
  • Admin/User role support
  • Dashboard with site activity

๐Ÿ“ Easy Content Management

  • Markdown support โ€“ write blog posts as .md files
  • Upload media with drag & drop
  • Schedule posts for future publishing

๐Ÿ‘ฅ User Accounts

  • Sign up, log in, and manage profiles securely
  • Users can comment on posts

โš™๏ธ Technology Used

  • Backend: Java (Spring Boot)
  • Database: MongoDB
  • Frontend: Thymeleaf + Bootstrap
  • Fully responsive (mobile friendly)

๐Ÿ“ธ Screenshots with Explanations

New Version:

image image image

๐Ÿงช Old Version Preview

Old Version Part 1


๐Ÿ“‚ Navigation Menu

Dropdown Menu


๐Ÿ“‘ Project List Page

My Projects


๐Ÿงญ Admin Dashboard

Admin Dashboard


๐Ÿ  Homepage (Public View)

Homepage


๐Ÿ†• Latest Post Display

Latest Post


โœ๏ธ Post Management (Edit/Delete)

Post Edit/Delete


๐Ÿ“ Editing a Post (View 1)

Post Edit 1


๐Ÿ“ Editing a Post (View 2)

Post Edit 2


โŒ Delete Post Confirmation

Post Delete


๐Ÿ†• Create New Post (Part 1)

Create New Post


๐Ÿ†• Create New Post (Part 2)

Create New Post 2


๐Ÿ› ๏ธ Tech Stack

Backend

  • Java 17
  • Spring Boot 3.x
  • Spring Security
  • MongoDB (via Spring Data)

Frontend

  • Thymeleaf
  • Bootstrap 5
  • Vanilla JavaScript + jQuery

DevOps & Infra

  • Docker
  • CI/CD

๐Ÿ” Security Features

  • Admin/User role permissions
  • CSRF protection
  • Password hashing with BCrypt
  • Secure sessions
  • Input sanitization (XSS protection)

๐Ÿ—‚๏ธ Project Structure

com.csabika98.blog/
โ”œโ”€โ”€ config/
โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ AdminController.java
โ”‚   โ”œโ”€โ”€ ApiController.java
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ models/ 
โ”œโ”€โ”€ repositories/ 
โ”œโ”€โ”€ services/
โ”œโ”€โ”€ util/ 
โ””โ”€โ”€ resources/
    โ”œโ”€โ”€ templates/ 
    โ”œโ”€โ”€ static/
    โ””โ”€โ”€ application.properties

๐Ÿ“ก API Overview

๐ŸŒ Public Endpoints

Method Path Description
GET / Homepage
GET /posts/{slug} View single post
POST /contact Contact form

๐Ÿ” Admin Endpoints

Method Path Description
POST /admin/posts Create post
PUT /admin/posts/{id} Edit post
GET /admin/dashboard Admin dashboard

๐Ÿ‘ค Authentication

Method Path Description
POST /register Register new user
POST /login Log in
POST /logout Log out

๐Ÿ“ฌ Contact

Questions or access requests?
๐Ÿ“ง Email: sallcsa.csaba8@gmail.com
๐ŸŒ Website: sallai.tech