MaritimeAssign is a web-based job management platform built for the Marine Engineers’ Beneficial Association (MEBA) to replace their outdated Google Sheets-based job board. The application centralizes job listings, streamlines dispatch workflows, and provides secure role-based access for union members, dispatchers, and administrators. It was created to improve reliability, security, efficiency, and real-time visibility for a nationwide maritime job distribution system.
- Provides a real-time job board with filtering, editing, and claiming capabilities
- Secures access using Supabase authentication and role-based permissions
- Logs all changes through a searchable, filterable job history system
- Offers a display-only union hall mode for public viewing
- Allows admins to manage users, roles, and job dropdown configurations
- To replace MEBA’s error-prone, manual Google Sheets workflow
- To reduce data-entry mistakes and prevent unauthorized edits
- To provide a scalable, secure, cloud-hosted solution for MEBA’s operational needs
The MaritimeAssign application is deployed and accessible at: https://meba.pages.dev/
Here are some screenshots of the project in action:
| Name | Contact |
|---|---|
| Byron Saylor | byrontsaylor@gmail.com |
| Kevin Jackson | kevinjackson@csus.edu |
| Delon Chisolm | delonschisolm@gmail.com |
| Nick Janota | jnjanota@gmail.com |
| William Scott | wsc0tt@outlook.com |
| Phong Ho | lyhongyen1979@gmail.com |
| Alexandra Allwein | aallwein@csus.edu |
| Ismaeel Khan | IsmaeelNKhan@gmail.com |
| Derek Tran | derektran@csus.edu |
This project uses Vitest + React Testing Library.
You can build the project using one of the following methods:
- Run all tests:
npm run test - Watch mode:
npm run test:watch - Coverage report:
npm run coverage - Vitest Browser GUI
npx vitest --ui
- Clone the repository
git clone https://github.com/Maritime-Assign/ReactProject.gitcd ReactProject
- Install dependencies:
npm install - Create environment variables
VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
- Start the development server:
npm run dev - Build the project:
npm run build - Preview the production build locally:
npm run preview
Refer to the Docker Instructions for detailed steps.









