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

https://github.com/nvhnam/theblog

A fullstack blog was made with FE: ReactJS | BE: SpringBoot / NodeJS | DB: MySQL
https://github.com/nvhnam/theblog

api backend blog docker frontend mysql nodejs reactjs render spring spring-boot vercel vite

Last synced: 3 months ago
JSON representation

A fullstack blog was made with FE: ReactJS | BE: SpringBoot / NodeJS | DB: MySQL

Awesome Lists containing this project

README

          

# โœ๏ธ TheBlog โ€“ Fullstack Blogging Platform

A full-featured blogging platform built with modern web technologies. Users can register with email verification, log in securely, and post blogs using a clean, responsive UI. Designed for developers, writers, and learners who want to explore how fullstack apps work with RESTful APIs and MySQL databases.

---

## ๐Ÿš€ Features

- ๐Ÿงพ User Registration with Email Verification: Secure account creation via verification codes sent to user emails.
- ๐Ÿ” Authentication & Authorization: JWT-based login and session handling.
- ๐Ÿ“ Blog Post Creation: Write, edit, and publish personal blog posts using a user-friendly interface.
- ๐Ÿ“ฌ RESTful API: Robust and scalable Spring Boot backend API for blog and user management.
- ๐ŸŒˆ Clean UI: Modern, responsive frontend built with ReactJS and TailwindCSS.

---

## ๐Ÿ› ๏ธ Tech Stack

### ๐Ÿ’ป Frontend
- ReactJS
- TailwindCSS

### ๐Ÿง  Backend
- Spring Boot (Java)
- Spring Security + JWT
- Spring Mail (for email verification)
- MySQL (Database)
- Docker (for deployment)

---

## ๐Ÿ“ฆ Setup Instructions

### 1. Clone the Repository


git clone https://github.com/yourusername/TheBlog.git
cd TheBlog

### 2. Setup Backend


cd backend-springboot/TheBlog

๐Ÿ”จ Build the Docker image:


docker build -t yourdockerhub/theblog-backend:v1.20 .
docker push yourdockerhub/theblog-backend:v1.20

๐Ÿงช Run Locally (without Docker):


./mvnw spring-boot:run

### 3. Setup Frontend


cd ../client

๐Ÿ”ง Install dependencies:


npm install

๐Ÿš€ Start the development server:


npm run dev

Make sure to update the API base URL in your frontend .env:


VITE_API_URL=http://localhost:8080

---

## CI/CD Status

![Frontend CI](https://github.com/nvhnam/TheBLOG/actions/workflows/frontend.yml/badge.svg)

---

## ๐ŸŒ Live Demo
You can deploy the backend via Render and frontend via Vercel. Update CORS and .env URLs accordingly for production.

## ๐Ÿค Contributing
Have suggestions or want to collaborate? Feel free to reach out or submit a PR!

- ๐Ÿ“ง Email: nvhnam01@gmail.com
- ๐ŸŒ Portfolio: https://nguyenviethoangnam.vercel.app/

---

## โญ Support the Project
If you find TheBlog useful, please consider giving it a star โญ and sharing it with others. Your support helps the project grow and reach more learners!