Skip to content

Social Media for Palestinian Unviersity Students

License

Notifications You must be signed in to change notification settings

71iq/pus-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PUs Project

This repository contains three distinct projects: a backend monolithic application, a frontend application, and a backend microservices architecture. Below are the detailed descriptions, setup instructions, and usage guidelines for each project.

Introduction

PUs is a Java Spring Boot application designed to create a community platform for students. It includes features like the main features of a social media platform and more.

Features

  • Social Media Features: Everything you expect from a social media platform: follows, posts, interactions, stories, real time messaging and notifications, and more.
  • Community Interaction: Connect with students from the same university through posts and stories.
  • Major and Section Communities: Group chats based on majors and sections.

Table of Contents

  1. Backend Monolithic Application
  2. Frontend Application
  3. Backend Microservices Architecture
  4. Contributing
  5. License
  6. Contact

Backend Monolithic Application (PUs)

Prerequisites

  • Java
  • Maven
  • SQL

Setup Instructions

  1. Clone the repository:
    git clone https://github.com/pus-platform/pus
  2. Navigate to the project directory:
    cd pus/backend
  3. Install dependencies:
    mvn install
  4. Start the server:
    mvn spring-boot:run
  5. Import the database setup:
    • Import the pus.sql file into your SQL database.

Frontend Application

The frontend application is designed using react providing enhanced user experience.

Prerequisites

  • Node.js
  • npm

Setup Instructions

  1. Navigate to the project directory:
    cd pus/frontend
  2. Install NPM packages:
    npm install
  3. Start the development server:
    npm run dev

Built With

  • React
  • React Query
  • Tailwind CSS
  • Vite
  • Flowbite React
  • Lucide Icons

Backend Microservices Architecture

This project demonstrates a microservices architecture using Spring Boot, including components such as an API Gateway, Configuration Server, Discovery Server, and multiple microservices.

Components

  • API Gateway: Entry point for client requests.
  • Config Server: Centralized configuration management.
  • Discovery Server: Service discovery and communication management.
  • User Service: Manages user information and authentication.
  • Post Service: Handles posts.
  • Story Service: Manages stories.
  • Upload Service: File upload and storage.

Prerequisites

  • Java
  • Maven
  • SQL
  • Docker and Docker Compose

Setup Instructions

  1. Build & Run each service, make sure to run discovery service first, then config service, then the others:
    cd service-directory
    ./mvnw clean install spring-boot:run

Accessing Services

Each service is accessed through the API Gateway on default ports:

  • API Gateway: http://localhost:8080
  • Other services are configured and accessed via the API Gateway.

Building Docker

navigate to the root directory of the project

run docker compose up

License

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

Authors

About

Social Media for Palestinian Unviersity Students

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published