Skip to content

🎓 EduSync

A Complete Campus Ecosystem Platform

EduSync is a comprehensive campus management platform designed for university communities. Built with modern microservices architecture using React 19, Node.js, and PostgreSQL.

Get Started View on GitHub


7 Microservices

6 Databases

100+ API Endpoints

50+ React Components


✨ Core Features

  • Marketplace


    Campus marketplace with vendors (startups & food shops), products, pre-owned listings, and orders with SSLCommerz payment integration.

    Explore Marketplace

  • RentHub


    Peer-to-peer rental platform for students to list and rent items like electronics, books, sports equipment, and more.

    Explore RentHub

  • NewsBox


    Community-driven news feed with posts, comments, voting system, and category-based content organization.

    Explore NewsBox

  • Real-time Chat


    Socket.io powered messaging with direct conversations, batch chatrooms, and contextual chats for orders/rentals.

    Explore Chat

  • Issue Reporting


    Campus issue reporting system with voting, categorization, priority levels, and admin management.

    Explore Issues

  • UIU Notices


    Real-time scraping of official UIU notices from university website with caching for fast access.

    Explore Notices


🏗️ Architecture Overview

graph TB
    subgraph Client["🖥️ Frontend (Port 5173)"]
        React[React 19 + Vite]
    end

    subgraph Gateway["🌐 API Gateway (Port 8000)"]
        GW[Express + http-proxy-middleware]
    end

    subgraph Services["⚙️ Backend Microservices"]
        Auth["🔐 Auth<br/>Port 3001"]
        Market["🛒 Marketplace<br/>Port 3002"]
        Rent["🏠 RentHub<br/>Port 3003"]
        News["📰 NewsBox<br/>Port 3004"]
        Notice["📋 Notices<br/>Port 3005"]
        Chat["💬 Chat<br/>Port 3006"]
        Issue["🚨 Issues<br/>Port 3007"]
    end

    subgraph Databases["🗄️ PostgreSQL (Aiven Cloud)"]
        AuthDB[(auth_db)]
        MarketDB[(market_db)]
        RentDB[(rent_db)]
        NewsDB[(newsbox_db)]
        ChatDB[(chat_db)]
        IssueDB[(issue_db)]
    end

    subgraph External["🌍 External"]
        UIU[UIU Website]
        SSL[SSLCommerz]
    end

    React --> GW
    GW --> Auth
    GW --> Market
    GW --> Rent
    GW --> News
    GW --> Notice
    GW --> Chat
    GW --> Issue

    Auth --> AuthDB
    Market --> MarketDB
    Rent --> RentDB
    News --> NewsDB
    Chat --> ChatDB
    Issue --> IssueDB

    Notice -.-> UIU
    Market -.-> SSL

    React -.->|Socket.io| Chat

🛠️ Tech Stack

⚛️ React 19 ⚡ Vite 7 🎨 TailwindCSS 🟢 Node.js 🚀 Express 5 🐘 PostgreSQL 🔌 Socket.io 🔐 JWT Auth 💳 SSLCommerz ☁️ Aiven Cloud


📊 Service Overview

Service Port Database Description
Auth Service 3001 auth_db JWT authentication, OTP verification, user profiles, role management
Marketplace Service 3002 market_db Vendors, products, pre-owned listings, orders, payments
RentHub Service 3003 rent_db Rental listings and peer-to-peer transactions
NewsBox Service 3004 newsbox_db Community posts, comments, voting system
Notices Service 3005 In-memory UIU notice scraping with 5-min cache
Chat Service 3006 chat_db Real-time messaging with Socket.io
Issue Service 3007 issue_db Campus issue reporting and tracking
Gateway 8000 None API routing and proxy
Client 5173 None React SPA frontend

🚀 Quick Start

# Clone the repository
git clone https://github.com/CringyNoob/EduSync.git
cd EduSync

# Install all dependencies
.\setup-all-services.ps1
# Copy environment files for each service
# Configure database URLs, JWT secrets, etc.
# See Configuration guide for details
# Start all services with one command
.\start-all-services.ps1
Frontend:  http://localhost:5173
Gateway:   http://localhost:8000
API Docs:  http://localhost:8000/api/*

📚 Documentation Sections


Made with ❤️ for the UIU Community

View Source Report Issue