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.
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 RSVP | Coffee And Code - BistroOne, New York City, NY - April 9, 2020 |
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 | the role of a user who can manage a chapter's events, RSVPs, 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 RSVP to events | Women Who Code - Edinburgh, Local Member |
We are planning to use the following tools:
- Node.js / Apollo server extendable graphql server
- type-graphql Code first graphql schema definition library
- passport.js for auth
- Postgres with TypeORM for nice integration with
type-graphql
- Next.js for both client and server-side rendering of the frontend (NextJS is based on React)
- Apollo Client 3
- TypeScript
- Material UI for components and its built-in
makeStyles
hook andstyled
HOC for custom styling - Functional Components with Hooks
- chai for writing unit tests.
A lot of people know these tools, and they're proven to work well at scale.
We will focus on building an open API first. Then, developers can use the API to build their own mobile clients and voice interface clients.
The MVP user stories are shown in the MVP Project kanban / cards and as issues marked with "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.
Here's an out-dated example of an app with similar functionality: The freeCodeCamp Study Group Directory.
-
Please read the contributing guidelines and steps needed to setup Chapter locally. We take you from local setup to submitting pull requests.
-
You should join our Discord server to get connected and follow announcements.
Copyright © 2020 freeCodeCamp.org
The computer software is licensed under the BSD-3-Clause license.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!