01blog is a full-stack blog platform with a Spring Boot backend and an Angular frontend. The backend handles authentication, data storage, REST APIs, and media management, while the frontend provides a responsive UI for login, registration, post creation, and browsing.
backEnd/demo/- Spring Boot backend applicationfrontEnd/- Angular frontend application
This project can grow into a modern content platform with features such as:
- full author profiles and user roles
- advanced post editor and rich media support
- comments, likes, and social sharing
- search, tags, and categories
- deployment to Docker, cloud, or CI/CD pipelines
- integration with external APIs for analytics, notifications, or content moderation
- PostgreSQL
- Java 17
- Spring Boot 4
- Spring Web
- Spring Data JPA
- Spring Security
- PostgreSQL driver
- JWT authentication (
jjwt) - Cloudinary media integration
- Apache Tika
- Lombok
- Angular 21
- Angular Material
- RxJS
- TypeScript
- Vitest for unit testing
- Open a terminal at the backend folder:
cd backEnd/demo- Start the PostgreSQL database with Docker Compose:
docker compose up -d-
Verify the database is running on
localhost:5432. -
Build and run the backend with Maven:
./mvnw spring-boot:run- The backend will start on the configured port (usually
http://localhost:8080).
The Docker Compose service is defined in
backEnd/demo/docker-compose.yml.
- Open a terminal at the frontend folder:
cd frontEnd- Install dependencies (if not already installed):
npm install- Start the Angular development server:
npm start- Open the app in your browser:
http://localhost:4200
If you don't have the Angular CLI installed, you should install it first.
Run the following command:
npm install -g @angular/cliIf it doesn't work because it requires elevated permissions (sudo), you can use NVM (Node Version Manager) instead:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.zshrc
nvm install --lts
nvm use --lts
npm install -g @angular/cli