Skip to content

basharkhan6/Social_Media

Repository files navigation

Java Spring JavaScript Angular

Social Media

A small social media platform with REST and Basic Security where users can post and update status with location.

Visit here for quick demo.

Functional Requirements

  1. Visitor can register/login.
  2. Visitor/User can read status.
  3. Users can create new status.
  4. Users can view status of other users.
  5. Status owner can update status.
  6. Status owner can change status privacy.

Technical Requirements

  1. System will only show public status to anyone.
  2. System should comply with REST architecture.

ER Diagram

Diagram

Technologies

Backend

Here I use Spring Boot (v2.5.2) freamework of Java.

Frontend

  • 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

Uses

Credentials:

[email protected] 123456

Setup

Running Local

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,

  1. Install Java and Gradle.
  2. Run command ./gradlew bootRun.
  3. Install Node and Angular.
  4. Run command ng serve.

Running on Docker

Unlike local setup docker it pretty easy to run.

  1. Install Docker & Docker-Compose on machine.
  2. Change Angular API Url from environment to backend.
  3. Run docker-compose up

Running on Heroku

This process it quite tough. But, The Dockerfile & heroku.yml of this repository perfectly handle those issue.

  1. Create a pipeline of this repository.
  2. Create two different application of container stack inside that pipeline.
  3. Deploy from the both branch angular and spring in according to application.

Hurrah!! you make it run!

License GitHub license

Distributed under the MIT License. See LICENSE for more information.

Contact Ask Me Anything !

Abul Basar - @basharkhan6 - [email protected]

Git Link: https://github.com/basharkhan6/Social_Media

Project Link: https://social-media-angular.herokuapp.com

Linkedin Stackoverflow

ForTheBadge built-with-swag ForTheBadge uses-git

About

A small social media platform with REST and Basic Security where users can post and update status with location.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published