A small social media platform with REST and Basic Security where users can post and update status with location.
Visit here for quick demo.
- Visitor can register/login.
- Visitor/User can read status.
- Users can create new status.
- Users can view status of other users.
- Status owner can update status.
- Status owner can change status privacy.
- System will only show public status to anyone.
- System should comply with REST architecture.
Here I use Spring Boot (v2.5.2) freamework of Java.
- Spring Boot Web - Build RESTful web service.
- Spring Boot Security - Securing Web.
- Spring Boot Data JPA - Accessing database.
- H2 - Lightweight In-Memory database written in Java.
- Gradle (v7.0.2) - Gradle is a build automation tool for multi-language software development.
- IntelliJ Idea - Awesome and Powerful IDE for Java!
- Angular (v12.1.1) - TypeScript-based open-source web application framework.
- Node (v14.5.4) - JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
- Tailwind CSS - Tailwind CSS is a "utility-first" CSS framework that provides a deep catalog of CSS classes and tools.
- HTML
Credentials:
[email protected] 123456
This project has two application one for frontend (Angular) and another for backend (Spring). As this project H2 as database and hibernate(JPA) as ORM. So, it does not require any schema file though there is a data.sql in resource for initial data loading. Running project is easy as below,
- Install Java and Gradle.
- Run command
./gradlew bootRun. - Install Node and Angular.
- Run command
ng serve.
Unlike local setup docker it pretty easy to run.
- Install Docker & Docker-Compose on machine.
- Change Angular API Url from environment to backend.
- Run
docker-compose up
This process it quite tough. But, The Dockerfile & heroku.yml of this repository perfectly handle those issue.
- Create a pipeline of this repository.
- Create two different application of container stack inside that pipeline.
- Deploy from the both branch angular and spring in according to application.
Hurrah!! you make it run!
Distributed under the MIT License. See LICENSE for more information.
Abul Basar - @basharkhan6 - [email protected]
Git Link: https://github.com/basharkhan6/Social_Media
Project Link: https://social-media-angular.herokuapp.com
