Skip to content

Vulcan is a Ruby on Rails application that facilitates Maryland Accessible Telecommunications (MAT) workflows.

Notifications You must be signed in to change notification settings

wasafiri/vulcan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulcan: Maryland Accessible Telecommunications CRM

Vulcan is a Ruby on Rails application that facilitates Maryland Accessible Telecommunications (MAT) workflows.

Features

  1. Online Application Process

    • Digital application submission
    • Paper application processing and uploads
    • Document upload and verification
    • Application status tracking
  2. Evaluation Management

    • Scheduling and tracking evaluations
    • Training session management
    • Evaluator assignment and availability tracking
    • Documentation of evaluation outcomes
  3. Equipment Management

    • Vendor equipment catalog
    • Order processing and tracking
    • Voucher generation and redemption
    • Equipment distribution management
  4. Program Policy Enforcement

    • Automated eligibility checks
    • Waiting period enforcement
    • Training session limits
    • Income verification rules
  5. Constituent Portal

    • Application status checking
    • Document submission
    • Appointment scheduling
    • Profile management
  6. Print System

    • Letter generation for various notifications
    • Print queue management
    • Batch PDF downloads

Current Implementation Status

  • ✅ Authentication system (using authentication-zero)
  • ✅ Basic CRUD operations
  • ✅ Core views and layouts
  • ✅ Admin dashboard
  • ✅ Test data seeding
  • ✅ User role management (Admin, Evaluator, Constituent, Vendor, Trainer, Medical Provider)
  • ✅ Role-capabilities system with Stimulus controllers for toggling capabilities
  • ✅ Postmark API integration for sending emails
  • ✅ Print queue system for letter generation and management
  • ✅ Voucher management and redemption system
  • ✅ Vendor W9 review process
  • ✅ VendorPortal namespace implementation (fixed controller namespace conflict)
  • ✅ Email/letter correspondence templates with PDF generation
  • ✅ Inbound email processing (via Action Mailbox)
  • ⏳ Document OCR processing (planned)
  • ⏳ Enhanced reporting system (partial)

Technical Stack

  • Ruby 3.4.2
  • Rails 8.0.2
  • PostgreSQL
  • Tailwind CSS
  • Propshaft Asset Pipeline
  • Solid Queue (for background jobs)
  • Postmark (for email delivery)
  • Action Mailbox (for inbound email processing)
  • AWS S3 (for file storage)

Documentation

Prerequisites

  • Ruby 3.4.2 or higher
  • PostgreSQL 14 or higher
  • Node.js 18 or higher
  • Yarn

Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/vulcan.git
    cd vulcan
  2. Install dependencies:

    bundle install
    yarn install
  3. Setup database:

    bin/rails db:create
    bin/rails db:migrate
    bin/rails db:seed
  4. Set up environment variables:

    cp config/application.yml.example config/application.yml
    # Edit application.yml with your credentials
  5. Start the server:

    bin/rails server

Testing

The application uses Minitest for testing. To run the test suite:

bin/rails test

FactoryBot is used for test data generation. Factories can be found in test/factories/.

Default Users

After seeding, the following test users are available:

Role Email Password
Admin [email protected] password123
Evaluator [email protected] password123
Constituent [email protected] password123
Vendor [email protected] password123
Medical Provider [email protected] password123

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

TODO

  • Complete API integration for Postmarkapp
  • Add admin page to change user role and assign role capabilities
  • Configure email templates
  • Implement letter generation and print queue system
  • Implement communication preference system (email/letter)
  • Enhance admin dashboard views
  • Enhance constituent dashboard view
  • Add comprehensive application flow for constituents
  • Implement document OCR processing via AWS
  • Complete reporting system
  • Enhance vendor transaction tracking
  • Improve system tests coverage

Acknowledgments

  • Maryland Accessible Telecommunications Program
  • Contributors and maintainers

About

Vulcan is a Ruby on Rails application that facilitates Maryland Accessible Telecommunications (MAT) workflows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published