A Rails application for managing student work plans, skills progression tracking, and competency-based learning in primary schools. Currently in production and used by teachers in France.
Developed by VRoad Studio
- Backend: Ruby on Rails 7.1
- Frontend: Hotwire (Turbo + Stimulus), Bootstrap 5
- JavaScript: esbuild
- Database: PostgreSQL
- Background Jobs: Sidekiq + Redis
- PDF Generation: Ferrum (Chrome headless)
- File Storage: Cloudinary (Active Storage)
- Payments: Stripe
- Deployment: Scalingo
- Testing: RSpec
- Ruby 3.3.6+
- PostgreSQL
- Redis
- Node.js 18+
- Yarn
- Chrome (for PDF generation)
git clone git@github.com:bensouc/ensemble.git
cd ensemble
# Install dependencies
bundle install
yarn install
# Setup database
rails db:create db:migrate db:seed
# Start the server
bin/devCreate a .env file with:
CLOUDINARY_URL=...
STRIPE_PUBLISHABLE_KEY=...
STRIPE_SECRET_KEY=...
STRIPE_WEBHOOK_SECRET=...
REDIS_URL=...
Run the test suite with RSpec:
# Run all tests
bundle exec rspec
# Run specific test file
bundle exec rspec spec/models/student_spec.rb
# Run with coverage
COVERAGE=true bundle exec rspec- PDF Generation Migration: Migrated from WickedPdf to Ferrum (Chrome headless) for better rendering
- Student Results PDF: Enhanced with belt validation icons and improved layout
- Work Plan PDF: Added footer with pagination, student info, and page break optimization
- esbuild Migration: Removed Webpacker, now using esbuild for JavaScript bundling
- Scalingo Deployment: Optimized with Chrome buildpack for PDF generation
- Stack Upgrade: Ruby 3.1.2 → 3.3.6, Rails 7.0 → 7.1.6, Puma 4 → 6 (performance et sécurité)
December 2024 - Error Notifications & Monitoring
- Slack notifications for application errors
- Email alerts for critical issues
- Cloudinary storage configuration updates
October-November 2024 - Results & Belt Management
- Classroom results by domain view
- Belt validation workflow improvements
- Results acknowledgment system rebuild
July-September 2024 - Challenge Customization
- Color customization for challenges (pen colors)
- Auto-generation with results integration
- Special domains handling improvements
May-June 2024 - Mobile & Testing
- Mobile views for student results
- RSpec test coverage to 100%
- Student results page refactored with full Turbo Streams
March-April 2024 - Skills & Subscriptions
- Skills upload via Excel (XLSX)
- Subscription system with Stripe (coupons, quantity modifications)
- Captcha on contact forms
- Action Text editor enhancements (colors, underline)
July 2023 - Core Features
- Stripe subscription integration
- Grade skill management table with Turbo Frame
- Classroom students progression tracking
- XLSX export for skills and progression data
February 2023 - Demo System
- Demo account creation for visitors
- Subscription upgrade workflow (Annual ⇔ Monthly)
Erika, Thomas & Guenolé from Batch #756 Le Wagon Nantes built the first version.
First demo video (December 2021)
Proprietary - All rights reserved