Software Requirements Document

Project Title: Community Volunteer Management System

Client Organization: Local Volunteer Network (LVN)

1. Introduction

1.1 Purpose

The purpose of this document is to outline the requirements for the development of the Community Volunteer Management System (CVMS). This software will help Local Volunteer Network (LVN) manage volunteer registrations, schedules, and reporting, streamlining their operations and enhancing their ability to engage with the community.

1.2 Scope

The CVMS will serve as a web-based platform enabling the organization to:

  • Register and manage volunteers.
  • Create, view, and edit volunteer schedules.
  • Provide real-time updates about opportunities.
  • Generate reports on volunteer participation and hours served.

The system will be accessible by both LVN staff and volunteers, with specific roles and permissions. The project will be completed over one semester by a team of students, in collaboration with LVN staff and stakeholders.

1.3 Glossary

  • Volunteer: A community member who participates in activities organized by LVN.
  • Administrator: An LVN staff member with full access to the system.
  • Opportunity: A volunteer event or activity organized by LVN.
  • Stakeholder: Individuals or groups invested in the project’s success.

1.4 References

  • Interview notes from meetings with LVN staff (see GitHub repository).
  • LVN’s existing workflow documentation.
  • Usability standards for web applications.

2. System Overview

2.1 Goals

The CVMS aims to:

  • Reduce administrative overhead by automating volunteer management tasks.
  • Increase volunteer engagement by providing a user-friendly portal.
  • Enable LVN to track and report volunteer metrics more effectively.

2.2 Constraints

  • Must be deployable on LVN’s existing infrastructure (Linux server).
  • Development must adhere to accessibility standards (WCAG 2.1).
  • Must support up to 500 simultaneous users.

3. Functional Requirements

3.1 User Roles

  • Administrator:
    • Add, update, and delete volunteer opportunities.
    • Manage volunteer registrations.
    • Generate participation reports.
  • Volunteer:
    • Register for an account.
    • View and sign up for opportunities.
    • Track hours served.

3.2 Features

  1. User Registration and Authentication:
    • Volunteers and administrators must be able to create accounts securely.
    • Password reset functionality should be provided.
  2. Opportunity Management:
    • Administrators can create, edit, and delete volunteer opportunities.
    • Opportunities should include details such as date, time, location, and required skills.
  3. Volunteer Scheduling:
    • Volunteers can sign up for available opportunities.
    • System should notify administrators of filled or canceled slots.
  4. Reporting:
    • Administrators can generate reports on volunteer hours by date range, activity, or individual.
    • Reports should be exportable in CSV and PDF formats.
  5. Notifications:
    • Automatic email notifications for upcoming opportunities, schedule changes, and reminders.
  6. Accessibility:
    • The platform must be usable with assistive technologies, such as screen readers.

4. Non-Functional Requirements

4.1 Performance

  • The system should handle up to 500 concurrent users with minimal latency (<2 seconds for page loads).

4.2 Security

  • All sensitive data, such as passwords and personal information, must be encrypted.
  • The system must enforce role-based access control.

4.3 Usability

  • The interface should be intuitive and designed for non-technical users.

4.4 Scalability

  • The system should be designed to support future expansion, such as additional user roles or features.

5. Data Requirements

5.1 Data Storage

The system must store:

  • Volunteer profiles (name, email, phone, skills, availability).
  • Opportunity details (title, description, date, time, location, skills required).
  • Attendance and participation records.

5.2 Data Privacy

  • Personal data must comply with local data protection regulations.
  • Only administrators should access sensitive data such as volunteer contact details.

6. Technical Requirements

6.1 Technology Stack

  • Frontend: React.js or Vue.js.
  • Backend: Node.js with Express or Django.
  • Database: PostgreSQL or MySQL.
  • Hosting: Deployed on LVN’s Linux server with Nginx or Apache.

6.2 Integration

  • Must integrate with LVN’s existing email system for notifications.

7. Project Timeline

7.1 Milestones

  • Week 1-2: Requirements gathering and initial design.
  • Week 3-5: Frontend and backend development setup.
  • Week 6-8: Core functionality implementation.
  • Week 9-10: Testing and bug fixes.
  • Week 11-12: Deployment and final presentation to stakeholders.

8. Appendices

8.1 Meeting Notes

Detailed notes from stakeholder meetings are available in the GitHub repository.

8.2 GitHub Repository

8.3 References

  • WCAG 2.1 Guidelines.
  • LVN Documentation.

This example document demonstrates the necessary sections and level of detail required for a semester-long community-engaged software project. Students should tailor the contents to the specific needs of their projects.

Scroll to Top