Skip to content

Resource Hub is a Open-source web application designed for efficient management of organizational resources, including meals, assets, and maintenance tasks. It provides distinct interfaces and functionalities for Administrators and regular Users.

License

Notifications You must be signed in to change notification settings

th33k/ResourceHub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resource Hub

Resource Hub is a full-stack web application for managing meals, assets, maintenance, and organizational resources. It offers distinct functionalities and dashboards for Administrators and Users, powered by a Ballerina backend and a modern React frontend.


📁 Project Structure

/Resource-Hub
├── Front-End/                # React frontend app
└── Back-End/                 # Ballerina backend API

✨ Features

🔒 Authentication & Authorization

  • JWT-based login system
  • Role-based access control (Admin & User)

🍽️ Meal Management

  • Users can request meals via a calendar UI
  • Admins manage meal types and times

🛠️ Maintenance Management

  • Users submit maintenance requests
  • Admins prioritize and track maintenance tasks

🧰 Asset Management

  • Asset request and tracking by users
  • Admins manage inventory and handovers

👤 User Management

  • Admin-side user role control
  • Profile editing and preferences

📊 Dashboard & Analytics

  • Summary statistics for users and admins

📧 Email Notifications

  • SMTP-based notifications for events and reminders

📑 Reporting

  • API hooks for PDF report generation
  • Admins can generate and download summaries

🌙 Theme & UI

  • Light/Dark mode toggle
  • Responsive sidebar and layout

🧪 Tech Stack

🔧 Backend

  • Language: Ballerina
  • Runtime: Ballerina HTTP module
  • Database: MySQL
  • Email: SMTP
  • Docs: OpenAPI (if enabled)

💻 Frontend

  • Framework: React (TypeScript)
  • UI: Material UI (MUI), Tailwind CSS
  • State Management: React Query, Axios
  • Routing: React Router
  • PDF & Charts: html2pdf.js, Chart.js, Recharts
  • Build Tool: Vite

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/FiveStackDev/ResourceHub.git

🔧 Backend Setup (/backend)

Install Ballerina:

Download from https://ballerina.io/downloads/

Configure Config.toml

[ResourceHub.services]
USER = "your_db_user"
PASSWORD = "your_db_password"
HOST = "localhost"
PORT = "3306"
DATABASE = "your_database_name"
SMTP_HOST = "your_smtp_host"
SMTP_PORT = "587"
SMTP_USER = "your_smtp_user"
SMTP_PASSWORD = "your_smtp_pass"
PDFSHIFT_API_KEY = "your_pdfshift_api_key"

Add MySQL Driver

In Ballerina.toml:

[[platform.java11.dependency]]
groupId = "mysql"
artifactId = "mysql-connector-java"
version = "8.0.26"

🗄️ Database Schema

A detailed SQL schema is provided in the backend/README.md, including:

  • users, mealtimes, mealtypes, requestedmeals
  • assets, requestedassets, maintenance, notification

📌 ER Diagram:

Database Diagram


📝 License

This project is licensed under the MIT License. See LICENSE for details.

About

Resource Hub is a Open-source web application designed for efficient management of organizational resources, including meals, assets, and maintenance tasks. It provides distinct interfaces and functionalities for Administrators and regular Users.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 64.6%
  • CSS 17.0%
  • Ballerina 16.5%
  • TypeScript 1.6%
  • Dockerfile 0.2%
  • HTML 0.1%