universo-platformo-ruby
Описание
Implementation of Universo Platformo / Universo MMOOMM / Universo Kiberplano built on Ruby on Rails and related stack in Ruby
Языки
- Ruby49,5%
- Shell34,4%
- HTML15,3%
- JavaScript0,5%
- CSS0,3%
Universo Platformo Ruby
Ruby on Rails implementation of Universo Platformo — a modular platform for metaverses, clusters, and digital resources.
Project Status
🚀 Active Development — Start pages and Supabase authentication are implemented.
This release delivers the guest landing page, the authenticated onboarding page, and a complete
Supabase authentication flow that runs entirely through the Rails backend.
How Supabase Integration Works
The frontend never talks to Supabase directly. All authentication calls go through the Rails backend:
Browser → Rails (SessionsController / Api::V1::AuthController) → Supabase Auth API
handles all communication with the Supabase REST API using Ruby's
built-in . Credentials (, ) live only on the server.
Architecture
Package Structure
The directory contains documentation for each feature module.
Implementation code lives in the root following standard Rails conventions:
packages/
├── start-frt/base/ # Guest and authenticated start pages (docs)
└── auth-frt/base/ # Authentication UI — sign-in / sign-up (docs)
Application Layer (root app/)
| Path | Purpose |
|---|---|
| Routes to guest or authenticated page |
| HTML form sign-in, sign-up, sign-out |
| JSON API for authentication |
| Supabase HTTP client (backend only) |
| Landing page for unauthenticated visitors |
| Onboarding wizard for signed-in users |
| Sign-in form |
| Sign-up form |
Pages
| URL | Auth required | Description |
|---|---|---|
| No | Redirects to or |
| No | Hero section + 4 product cards + footer |
| Yes | Multi-step onboarding wizard |
| No | Sign-in form |
| No | Sign-up / registration form |
| No | Process sign-in |
| No | Process registration |
| Yes | Sign-out |
| No | CSRF token for JSON clients |
| No | Current user info (JSON) |
Technology Stack
- Runtime: Ruby 3.2+
- Framework: Ruby on Rails 7.1
- Database: PostgreSQL (Supabase)
- Authentication: Supabase Auth (via
, no SDK)Net::HTTP - Frontend: Tailwind CSS, Turbo, Stimulus, Importmap
- Testing: RSpec, WebMock, Shoulda Matchers
- Code quality: RuboCop, Brakeman, Bundler Audit
- i18n: English and Russian locales (
,config/locales/en.yml)ru.yml
Quick Start
1. Clone the Repository
2. Install Dependencies
3. Configure Environment
Edit and fill in your Supabase project values:
4. Build CSS and Start the Server
Open in your browser.
Development
Running Tests
Code Quality
Security Notes
- CSRF protection:
for all requests.protect_from_forgery with: :exception
JSON clients must obtain a token viaand sendGET /api/v1/auth/csrf.X-CSRF-Token - Session fixation:
is called before storing new credentialsreset_session
on every successful sign-in or sign-up. - No secrets in browser: Supabase credentials and tokens exist only in server
environment variables and session storage — never rendered into HTML or JavaScript. - SSL verification:
is enforced for Supabase calls.OpenSSL::SSL::VERIFY_PEER
Internationalization
UI text uses Rails I18n. Locale files are in :
— English (default)en.yml— Russianru.yml
Contributing
- Read the guidelines in .github/instructions/
- Create an Issue using the provided templates
- Create a feature branch from your Issue
- Submit a Pull Request following the PR guidelines
- Ensure all tests pass and code quality checks succeed
Reference Implementation
This project is inspired by Universo Platformo React
and replicates its architecture using pure Ruby on Rails best practices.
License
MIT License — see file for details.
Links
- React reference: universo-platformo-react
- Documentation: docs.universo.pro (coming soon)
- Website: universo.pro (coming soon)