Narrativo is a full-stack blogging platform built with Spring Boot (Java) and Angular. It provides user authentication, blog management, customizable visibility settings, and dynamic dashboards for insights.
- Backend: Spring Boot, Spring Security, JPA (Hibernate), PostgreSQL
- Frontend: Angular, TypeScript, Angular Material
- Database: PostgreSQL
- Build Tools: Maven
- JWT-based authentication with Spring Security
- User registration & login
- Route guards for protected pages
- Create, edit, delete blogs
- Public & private blog visibility
- Fetch blogs by author or visibility
- View total blogs, user activity, and analytics
- Role-based dashboard for admin and users
- Set blogs as Public, Private, or Friends-only
- Control access based on visibility settings
- Clone the repository:
git clone https://github.com/alifiyah29/Narrativo.git cd Narrativo/backend
- Configure PostgreSQL in
application.properties
. - Build & run the backend:
mvn spring-boot:run
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Run the Angular app:
ng serve
- Auth APIs:
POST /auth/register
- Register new usersPOST /auth/login
- Authenticate users
- Blog APIs:
POST /blogs
- Create a new blogGET /blogs
- Get all blogs (filtered by visibility)PUT /blogs/{id}
- Edit a blogDELETE /blogs/{id}
- Delete a blog
MIT License