Skip to content

Resource Hub is an 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

FiveStackDev/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 an 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

Contributors 6