Welcome to Chapter
After several years of being dissatisfied with existing group event tools (Meetup, Facebook events) we decided to build our own.
This will be a self-hosted Docker container deployed to the cloud with a one-click and then configured by the owner. No coding required.
Your organization can host an instance of Chapter under a sub-domain of your website, such as chapter.sierraclub.org
or chapter.womenwhocode.org
.
All of an organization's user data will remain under their control.
Our Vision statement provides more details on the reasons for Chapter.
Terminology
To better communicate and more easily build an API and UI, the current contributors have decided on a collection of terminology to clarify discussions surrounding the Chapter project:
Term | Definition | Example |
---|---|---|
instance | a web server deployment of the Chapter application, managed by an organization. | a Docker container running on a web host |
organization | a non-profit with multiple chapters | Women Who Code at the sub-domain: chapter.womenwhocode.org |
chapter | a container for events and users | Women Who Code - New York City |
event | a meeting with a specific location and time to which users can attend | Coffee And Code - BistroOne, New York City, NY - April 9, 2020 |
role | a named definition of permissions to be attached to users for the purpose of granting authorization | Owner, Adminstrator, Organizer, Member |
user | an authenticated user who is authorized based on their role(s) | Sally Gold - [email protected] |
visitor | an non-authenticated web browser session with view-only access to public content | Anonymous Web Browser Client |
owner | the role of a user who can configure the Chapter application instance and manage administrators for an entire organization | Women Who Code - Global IT |
administrator | the role of a user who can setup and manage chapters and organizers for an organization | Women Who Code - European Administrator |
organizer (not MVP) | the role of a user who can manage a chapter's events, attendees, communications, and members | Women Who Code - Edinburgh, Local Organizer |
member | the role of a user who can follow and receive notifications from a chapter and attend events | Women Who Code - Edinburgh, Local Member |
Tech Stack
We are using the following tools:
- Node.js / Apollo server - extendable graphql server
- type-graphql - code first graphql schema definition library
- Postgres with Prisma - for fully type-safe queries
- Next.js - for both client and server-side rendering of the frontend (NextJS is based on React)
- Apollo Client 3
- TypeScript
- Chakra UI - simple, modular & accessible UI components for React
- Functional Components with Hooks
- Jest - for writing unit tests.
- Cypress - to check if specific actions are possible to perform in certain scenarios.
For more information and a guide to working on features, go to the contributing docs.
User Stories
MVP
The MVP user stories are shown in the MVP Project kanban / cards and as issues marked with "MVP".
Post-MVP
We are maintaining a list of post-MVP conversations and user stories using the "Roadmap" tag.
Quincy Larson is the project lead. freeCodeCamp will start "dogfooding" the MVP with several of its local study groups.
UI / UX / Design References
- Mockups and earlier visitor views
- User Role Workflows
- UI / UX Issues
Contributing
-
Please read the contributing guidelines and steps needed to setup Chapter locally. We take you from local setup to submitting pull requests.
-
Join our chat to get connected and follow announcements.
License
Copyright (c) 2019-2023 freeCodeCamp.org
The computer software is licensed under the BSD-3-Clause license.
✨
Contributors Thanks goes to these wonderful volunteers (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!