Skip to content

Ensemble! Une application de création/partage de plan de travail pour les enseignants du primaire

Notifications You must be signed in to change notification settings

bensouc/ensemble

Repository files navigation

Ensemble

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

Tech Stack

  • 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

Installation

Prerequisites

  • Ruby 3.3.6+
  • PostgreSQL
  • Redis
  • Node.js 18+
  • Yarn
  • Chrome (for PDF generation)

Setup

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/dev

Environment Variables

Create a .env file with:

CLOUDINARY_URL=...
STRIPE_PUBLISHABLE_KEY=...
STRIPE_SECRET_KEY=...
STRIPE_WEBHOOK_SECRET=...
REDIS_URL=...

Tests

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

Features History

January 2026

  • 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é)

2024 Features

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)

2023 Features

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)

Original Team - December 2021

Erika, Thomas & Guenolé from Batch #756 Le Wagon Nantes built the first version.

First demo video (December 2021)

License

Proprietary - All rights reserved

About

Ensemble! Une application de création/partage de plan de travail pour les enseignants du primaire

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5