Discourse is an open-source discussion platform built with Ruby on Rails and Ember.js. It provides a full-featured forum system with topics, posts, private messaging, user trust levels, badges, notifications, and real-time chat capabilities. The platform is designed for extensibility through a robust plugin system that allows developers to add new features without modifying the core codebase. The architecture follows a modular monolith pattern with a clear separation of concerns. The backend uses ActiveRecord for ORM, Sidekiq for background processing, and MessageBus for real-time updates. The frontend is an Ember.js application that consumes the Rails JSON API. Key design patterns include service objects for business logic, concerns for sharing model behavior, and serializers for API responses. The plugin system leverages Rails engines and Ember.js addons to integrate seamlessly with the core application. The project demonstrates strong engineering practices with comprehensive test coverage, automated database migrations, and a focus on performance through caching and background job processing. While the codebase has evolved over many years and contains some legacy code, it remains actively maintained and continues to adopt modern web technologies.
Mastodon is a full-stack, federated social network server implementing the ActivityPub protocol. It provides a production-grade Rails API backend with a React/Redux frontend, real-time streaming via Node.js, and extensive background job processing with Sidekiq. The system supports user timelines, media attachments, content moderation, admin dashboards, OAuth authentication, and federation with other ActivityPub-compatible services. The codebase is large and actively maintained, with a clear separation of concerns across controllers, services, serializers, workers, and frontend components. It includes advanced features such as trending content, annual user reports, FASP data sharing, and a comprehensive admin interface. While the architecture is well-structured, there are signs of technical drift including mixed frontend patterns (legacy JSX vs modern TypeScript/Redux Toolkit), placeholder Ruby/Node version numbers, and some deprecated API endpoints.
Liam is a full-stack web application and CLI toolchain for database schema design and visualization. It parses schemas from multiple formats (PostgreSQL, Prisma, Drizzle, tbls, schema.rb), renders interactive Entity-Relationship Diagrams (ERDs) using React Flow, and provides an AI-assisted workflow powered by LangGraph agents. Users can create design sessions, chat with a team of AI agents (PM, DB, QA) that analyze requirements, generate schema changes, create migration SQL, and validate via pgTAP tests. The frontend is built with Next.js and Supabase for authentication, real-time updates, and data persistence. A CLI tool allows local ERD generation from schema files. The monorepo includes numerous internal packages for schema parsing, UI components, error handling (neverthrow), and in-browser PostgreSQL execution (PGlite).
This is the main application for The Odin Project, a free and open-source web development curriculum. It is a Rails 8.1 monolith that provides a learning management system (LMS) with user authentication, lesson tracking, project submissions, flagging/moderation, and an admin panel. The application imports lesson content from a separate GitHub repository, converts Markdown to structured HTML using custom Kramdown converters, and tracks user progress through materialized SQL views. It features a modern Hotwire frontend (Stimulus + Turbo), Tailwind CSS, and extensive use of ViewComponents. The codebase is well-tested with RSpec, including system and request specs. While primarily an application, it includes analytical reporting via materialized views and daily summary jobs, giving it a hybrid nature leaning heavily toward application.
sidekiq-cron is a Ruby gem that adds recurring job scheduling to Sidekiq via cron expressions or natural language. It runs a poller thread alongside Sidekiq workers that checks Redis every configurable interval (default 30s) to enqueue jobs whose cron time matches. Jobs are stored in Redis hashes, and duplicate enqueuing across multiple Sidekiq processes is prevented using Redis sorted sets. The gem provides a web UI for managing jobs (enqueue, disable, enable, delete) and supports namespacing, ActiveJob integration, GlobalID argument serialization, and configuration of polling intervals, grace periods, and more. It depends on fugit for cron parsing and cronex for human-readable cron descriptions. The architecture is a clean extension of Sidekiq's own scheduler: it prepends into Sidekiq::Launcher and subclasses Sidekiq::Scheduled::Poller. The codebase is well-tested (Minitest + Mocha) and maintained, with CI running against multiple Ruby and Sidekiq versions.