Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/szymonpoltorak/social365
Microservice architecture social app created for a diploma project. A goal is to learn creating microservice architecture apps using new technologies.
https://github.com/szymonpoltorak/social365
angular-17 cassandra docker kafka microservices mongodb neo4j nginx postgres rabbitmq spring-boot spring-data tailwindcss
Last synced: about 1 month ago
JSON representation
Microservice architecture social app created for a diploma project. A goal is to learn creating microservice architecture apps using new technologies.
- Host: GitHub
- URL: https://github.com/szymonpoltorak/social365
- Owner: szymonpoltorak
- License: apache-2.0
- Created: 2024-02-12T14:09:28.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-19T20:06:25.000Z (about 1 month ago)
- Last Synced: 2024-11-19T21:19:42.808Z (about 1 month ago)
- Topics: angular-17, cassandra, docker, kafka, microservices, mongodb, neo4j, nginx, postgres, rabbitmq, spring-boot, spring-data, tailwindcss
- Language: Java
- Homepage:
- Size: 25.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Social365
![Home banner](./screenshots/readme/home-banner.png)
Social Media application made with modern technologies. This is repository for my diploma project. Goal is to create an App in Microservice architecture.
Frontend is made with Angular 17 and Angular Material. Backend is made with Spring Boot 3. UI is full responsive and PWA ready.## How to run it
I provided shell scripts written in `bin/sh` to run the app. They use `docker compose` to run the app but they are shorter than pasting whole command to console. All the scripts I written are listed below:
* `rdv` - run development configuration,
* `sdv` - stop all running dev containers, remove them and their images,
* `rpd` - run app in production configuration,
* `spd` - stop all running prod containers, remove them and their images,
* `rsa` - the script go generate rsa public and private keys for signing jwt.You can configure which service you want to be in dev or prod config in `compose.yml` or `compose.dev.yml`.
## How this app looks like
![Feed page](./screenshots/browser/feed.png)
Every view that is now part of the application is inside `screenshots` directory in subdirectories:
* `browser` - for laptop browser size,
* `browser-pwa` - for browser resized to mobile size## Technology stack
![Tech stack image](./screenshots/readme/tech-stack.png)
1. Frontend
* Angular 17
* Angular Material
* Angular PWA
* Tailwindcss2. Backend
* Spring Boot 3
* Kafka
* Lombok
* Netflix Eureka
* Spring Data
* Spring Cloud Api Gateway
* Spring Cloud Config Server
* Spring Doc OpenApi3. Databases
* Postgres SQL
* Cassandra
* Neo4j4. Others
* Nginx
* Docker
* Docker Compose
* DrawIo## Diagrams
### Main architecture
### Microservices