Mumuki Laboratory

screenshot of Mumuki Laboratory
rails

:microscope: Where students practice and receive automated and human feedback

Overview

The Laboratory web application is a powerful tool designed for the Mumuki Platform, aimed primarily at solving exercises organized into chapters and guides. Built on Ruby on Rails, it supports multiple tenants and is adaptable for various educational environments. Setting up this environment involves several steps, ranging from installing essential software like PostgreSQL and RabbitMQ to configuring Ruby with rbenv, making it a robust solution for developers and educators alike.

Once the environment is prepared, running the Laboratory application is straightforward. It offers various options for starting the server, making it versatile for different development needs. The integration of testing frameworks like Capybara allows users to ensure their code is functioning correctly across different browsers, enhancing the reliability of exercises created on this platform.

Features

  • Multi-Tenant Support: Built to accommodate multiple users and groups, perfect for educational institutions needing to manage various courses simultaneously.

  • Easy Setup: The application provides a quick-start guide for installing dependencies and running the server, minimizing setup time.

  • Compatibility with PostgreSQL: Utilizes PostgreSQL as its database, ensuring robust data management and stability.

  • Flexible Testing Options: Supports running tests on multiple browsers (Firefox, Chrome, and Safari) using Selenium, allowing for comprehensive testing of web applications.

  • Email Handling with Mailcatcher: Integrates Mailcatcher for debugging email features, making it easy to catch and review emails sent during development.

  • Customizable JavaScript API Docs: The platform offers well-organized API documentation, providing guidance for developers to customize features as needed.

  • Capybara Integration: Includes Capybara for end-to-end testing, ensuring a smoother user experience through automated testing procedures.

  • Rake Task Availability: Features Rake tasks for running Capybara tests, streamlining the testing process and making it easy for developers to ensure quality.

rails
Ruby on Rails

Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. Known for its convention over configuration and don't repeat yourself (DRY) principles, Rails simplifies and accelerates the development of database-backed web applications.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.