Real-time Emergency Resource Management
StateForce is a Ruby on Rails application designed to optimize emergency response operations and resources in real time. Originally developed for the Centro Regulador de Urgencias MΓ©dicas (CRUM) at the state level in Mexico, the system centralizes the management of medical, police, rescue, and fire department assets to reduce response times and improve coordination. It can also be adapted for use by any organization managing multiple emergency services.
A quick look at real-time resource management in action.
Screenshots and more details available in the Wiki.
- Demo
- Overview
- Quickstart
- Tech Stack
- Getting Started
- Development Tools
- Documentation
- Contributing
- Support
- Internationalization
- Credits & Acknowledgements
- License
StateForce empowers emergency services with a modern, reliable, and scalable platform for managing real-time resources such as ambulances, hospitals, rescue units, helicopters, and specialists. It features role-based access control, real-time updates, and seamless integration of data from public APIs.
The application is tailored for the Centro Regulador de Urgencias MΓ©dicas (CRUM) but can be customized to meet the needs of other emergency response organizations across different regions.
Want to try StateForce right now?
Visit stateforce.mx and log in
- Ruby 3.4.5 β Elegant, powerful backend language.
- Rails 8.0.2.1 β Framework optimized for developer productivity and performance.
- PostgreSQL 17 β Reliable, production-grade relational database.
- Redis β Used for background jobs and caching.
- TailwindCSS 4 β Utility-first CSS framework for rapid UI development.
- Hotwire (Turbo + Stimulus) β For real-time, reactive frontend experiences.
- Devise + OmniAuth β Secure authentication with email confirmation and Google login.
- Sidekiq β Background job processing.
- RuboCop β Code quality and style enforcement.
To run StateForce locally:
-
Clone the Repository
git clone git@github.com:martinmendozadev/StateForce.git cd StateForce -
Install Ruby
-
Install Dependencies
gem install bundler bundle install
-
Set Up Environment Variables
cp .env.example .env
-
Set Up the Database
bin/setup
-
Start the Server
bin/dev
Visit
http://localhost:3000to start using the app.Test credentials Email:
test@stateforce.mxPassword:123qweASD
-
Run Test Suite
bin/rails test -
Run Linter
bin/rubocop
-
System Tests (Capybara + Selenium)
bin/rails test:system
Includes headless browser testing with screenshot support for failures.
-
Hot Reloading with Turbo
Frontend changes are reflected instantly thanks to Hotwire.
For full technical documentation, please visit the StateForce Wiki, which includes:
- π Home
- π Architecture Diagram
- π§© DataBase
- π¦ Roles Definition
- β¨ System Architecture
- π Testing Guide
- π€ Users Flow
- π¨ Style Guide
We welcome contributions! Please read our CONTRIBUTING.md and CODE_OF_CONDUCT.md before submitting a pull request.
- Open issues for bugs or feature requests.
- Fork the repo and submit a pull request for improvements.
If you run into issues or have questions:
π¬ martinmendozadev@gmail.com
We welcome contributions and feedback to improve StateForce for emergency services everywhere.
StateForce currently supports Spanish and English. The interface language is primarily Spanish, reflecting its main operational context. Future versions may include more robust multi-language support. For details on current capabilities, see the Wiki.
- Developed by martinmendozadev
- Inspired by the needs of emergency services professionals.
- Built with Ruby on Rails, Hotwire, and the open source community.
This project is licensed under the terms of the GNU General Public License v2.0.
