- A modern social media application that manages account CRUD, posting images/text/videos posts, following & chatting with others.
- It was build as a full-stack app, with Java/Spring boot in backend & Angular frontend.
- Note : this project has been developed in 10 days, so please ignore the basic design, badly done exception handling, & unfinished unit/integration tests
- Backend : java 25, spring boot 4, DDD & hexagonal, openapi generator, jwt security, jpa hibernate pg liquibase, tools caching/mail/cron/pdf-box/mapstruct/minio/websockets, UT/IT
- Frontend : angular 20, primeng, stomp websockets
- Infrastructure : docker, postgres, minio (s3-like)
-
You need these installed : docker (docker compose included), jdk 25, node & npm latest versions
-
Setup :
- Docker database & storage setup :
- (sudo) docker compose up -d # run in the root folder
- Backend setup (run in backend folder) :
- change email username & password properties # in application.properties
- spring.mail.username
- spring.mail.password
- if using a different mail service than gmail, change other properties too
- mvn clean compile # compile & generate openapi domain & api files
- mvn spring-boot:run # run spring boot server http://localhost:8080
- change email username & password properties # in application.properties
- Frontend setup (run in frontend folder) :
- npm i # install angular dependencies
- npm start # run angular server
- http://localhost:4200 # visit to test frontend
- Docker database & storage setup :











