Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 34 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,41 @@
# EndsideOut LMS

## Mission
## Mission 💖

[EndsideOut](https://endsideout.org/) is a non-profit organization dedicated to combatting obesity and chronic health conditions by building health literacy and fostering behavior change in underserved communities.
They currently run programs in Baltimore, Maryland and some surrounding counties as well as a remote program in Liberia.
[EndsideOut](https://endsideout.org/) is a non-profit dedicated to combatting obesity and chronic health conditions by building health literacy and fostering behavior change in underserved communities.

## This Application
This application serves as an LMS tool for EndsideOut to deliver their health literacy curriculum to students and parents in their programs, as well as track statistics and trends.
This application is a Learning Management System (LMS) that helps EndsideOut deliver its health literacy curriculum, schedule that curriculum across schools and classrooms, and track participation and trends over time.

## Reach 🌟

EndsideOut currently runs programs in **Baltimore, Maryland** and surrounding counties, plus a **remote program in Liberia**. This LMS is the tool that will let a small team deliver curriculum consistently across every one of those classrooms.

## Ruby for Good
EndsideOut is one of many projects initiated and run by Ruby for Good. You can find out more about Ruby for Good at https://rubyforgood.org

## Current Status
This project is currently in active early development and is not yet ready for open source contributors.
We are currently working with the organization to determine exactly what the application needs to do and how it should work.
Once the requirements are more clearly defined, we will be opening the project up for contributions.
EndsideOut LMS is one of many projects initiated and run by Ruby for Good. You can find out more at https://rubyforgood.org.

## Status ⚠️

This project is in **active early development** and is **not yet open to outside contributors**. We are still defining what the application needs to do. Once requirements are settled, we will open it up and publish contribution guidelines here.

## How It Works

EndsideOut staff build a **curriculum** as a set of **programs**. Each program is broken into ordered **content modules** at different **levels**, and every module holds the videos, documents, and resources that make up the lesson.

Curriculum is delivered through **schools** and their **classrooms**. A classroom enrolls in a program at a given level, and modules are scheduled to publish on specific dates. **Students** belong to a classroom, and their participation is recorded through **student sessions** — giving the organization the statistics and trends it needs to measure impact.

See [DESIGN.md](DESIGN.md) for the full data model and workflow.

## Getting Started 🛠️

Built on **Ruby on Rails 8** with Hotwire, Tailwind, SQLite, and the Solid stack (Queue/Cache/Cable), deployed with Kamal. See [DESIGN.md](DESIGN.md) for the full tech stack.

```sh
git clone https://github.com/rubyforgood/endsideout.git
cd endsideout
bundle install
bin/rails db:prepare # create, load schema, seed sample data
bin/dev # http://localhost:3000
```

Seed data is generated with [Faker](https://github.com/faker-ruby/faker); see `db/seeds.rb` for login credentials.
Loading