Skip to content
rubyforgoodPublic

About

This project is the Portal for the nonprofit A Windows Between Worlds. The Portal offers a place for workshop leaders to find information about Workshops and Resources, be informed of CommunityNews, Stories, and Events, and as the project evolves -- to connect with one another.

Resources

Code of conduct

Contributing

Security policy

Stars

15 stars

Watchers

3 watching

Forks

Latest commit

 

History

2,058 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awbw-portal

Coverage

This project is the Portal for A Window Between Worlds. The Portal offers a place for workshop leaders to find information about Workshops and Resources, be informed of CommunityNews, Stories, and Events, and as the project evolves -- to connect with one another.

Architecture Overview

This is a Rails 8.1.0 application built with:

  • Authentication: Devise for user authentication with API token support
  • Frontend: Tailwind for styling
  • Database: MySQL with ActiveRecord ORM
  • Cache: solid_cache
  • Background Jobs: solid_queue
  • File Uploads: ActiveStorage with DigitalOcean Spaces storage
  • Email: ActionMailer for transactional emails (TODO Need to configure smtp creds)
  • API: JSON API with JWT authentication

Key Features

  • Workshop Management: Create, edit, and manage workshops
  • Resource Library: File uploads and document management
  • Event Registration: Search and register for events
  • Stories Library: Submit and view articles (stories) about workshops and facilitators
  • Person and Organization Profiles: View people and organizations at a glance
  • Reporting System: Monthly and annual reporting workflows
  • API Access: RESTful API for external integrations

Getting Started

For detailed setup and development instructions, please see our CONTRIBUTING.md guide.

Optional AI tooling (AGENTS.md, CLAUDE.md, and the ai/ shortcuts) is opt-in — copy the samples you want from docs/ai.

Production Maintenance

Featured workshops not showing on the home page

Featured workshop IDs are cached for up to 1 year. The cache auto-invalidates when a workshop's featured, publicly_featured, or published flags change, but stale data can persist if the invalidation races with the save transaction. To force a refresh, visit:

/?bust_cache=true

This clears and repopulates the cache for all users. Only site admins (users who pass the ApplicationPolicy#manage? check) can use this param.

About

This project is the Portal for the nonprofit A Windows Between Worlds. The Portal offers a place for workshop leaders to find information about Workshops and Resources, be informed of CommunityNews, Stories, and Events, and as the project evolves -- to connect with one another.

Resources

Code of conduct

Contributing

Security policy

Stars

15 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages