Skip to content

Repository files navigation

Volunteer Management System

A full-stack volunteer management platform designed to digitalize volunteer recruitment, opportunity management, applications, communication, and administrative workflows.

The system provides dedicated workspaces for volunteers, NGO managers, and administrators, with role-based access, application tracking, notifications, messaging, data management, and AI-assisted content generation.

Technology Stack

  • React
  • TypeScript
  • Vite
  • Node.js
  • Express
  • Supabase
  • PostgreSQL
  • Supabase Authentication
  • Row-Level Security (RLS)
  • Google Gemini API
  • Tailwind CSS

Key Features

  • Volunteer registration and authentication
  • Role-based access control
  • Volunteer profile management
  • NGO and organization management
  • Volunteer opportunity management
  • Application submission and tracking
  • Messaging and communication
  • Notifications
  • Administrative dashboard
  • Activity monitoring
  • Supabase database integration
  • PostgreSQL database schema
  • Row-Level Security
  • AI-assisted volunteer success-story generation

System Architecture

                         Volunteer
                             │
                             ▼
                  React / TypeScript UI
                             │
             ┌───────────────┴───────────────┐
             │                               │
             ▼                               ▼
      Node.js / Express                Supabase Services
          Backend                  Database / Authentication
             │                               │
             └───────────────┬───────────────┘
                             │
                             ▼
                    PostgreSQL Database

                    Google Gemini API
                             │
                             ▼
                 AI-assisted content tools

## User Roles

### Volunteer

- Manage personal profile
- Browse volunteer opportunities
- Submit applications
- Track application status
- Communicate with organizations
- View notifications

### NGO Manager

- Manage organization information
- Create volunteer opportunities
- Review applications
- Manage volunteers
- Communicate with applicants

### Administrator

- Monitor platform activity
- Manage users and organizations
- Monitor applications
- Review system statistics
- Perform administrative operations

## AI Integration

The platform includes an AI-assisted success-story polishing feature using the Google Gemini API.

The Gemini API is accessed through the Node.js/Express backend. API credentials are stored using environment variables and are not included in the source code.

## Database

The project uses Supabase/PostgreSQL for application data and authentication.

The database includes entities such as:

- Users
- Organizations
- Opportunities
- Applications
- Conversations
- Messages
- Notifications
- Skills
- Languages
- Certificates
- Activity logs

Row-Level Security policies are used to control access to database records.

## Security

Sensitive environment variables are excluded from Git.

Create a local environment file from the example:

```bash
cp .env.example .env

About

A full-stack volunteer management platform designed to digitalize volunteer recruitment, opportunity management, applications, communication, and administrative workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages