Skip to content

esslamben/activist

 
 

Repository files navigation

activist Logo

platforms netlify issues django nuxt vue tailwind license coc instagram matrix

🌐 Language

Open-source, nonprofit activism platform

activist.org is a network for political action that allows people to coordinate and collaborate on the issues that matter most to them. The current goal is the creation of a central platform to discover activist organizations and their events. See the frequently asked questions for a general overview.

Note

The contributing section has information for those interested, with the articles and presentations in supported by also being good resources for learning more about activist.

Contents

Preview Video

The following is a recording of the Creating and Joining Events prototype found on Figma:

activist_github_prototype.mp4

Further prototypes and designs are available in the designs for activist. Feedback and ideas can be submitted via a design issue.

Contributing

Public Matrix Chat

activist uses Matrix for communications. You're more than welcome to join us in our public chat rooms to share ideas, ask questions or just say hi :)

Please see the contribution guidelines and style guide if you are interested in contributing to activist. Work that is in progress or could be implemented is tracked in the issues and projects.

Note

Just because an issue is assigned on GitHub doesn't mean that the team isn't interested in your contribution! Feel free to write in the issues and we can potentially reassign it to you.

Also check the -next release- and -priority- labels in the issues for those that are most important, as well as those marked good first issue that are tailored for first time contributors. For those new to coding or our tech stack, we've collected links to helpful documentation pages in the contribution guidelines.

After your first pull requests organization members would be happy to discuss granting you further rights as a contributor, with a maintainer role then being possible after continued interest in the project. activist seeks to be an inclusive and supportive organization. We'd love to have you on the team!

Ways to Help

Road Map

The activist road map can be followed in the organization's project board where we list the most important issues along with their priority, status and an indication of which sub projects they're included in (if applicable).

Designs

Public Figma Designs

The designs for activist are made using Figma. Those with interest can use the issues to make suggestions for improvements. Design related issues are marked with the design label.

Note that the Figma file above is the public facing designs. Those interested in improving them or contributing designs for new features are invited to contact the team on GitHub or via the email on the public designs welcome page. We'd love to see a sample of your work and if everything looks good we'll schedule a time to get connected!

Environment Setup

  1. First and foremost, please see the suggested IDE extensions in the dropdown below to make sure that your editor is set up properly.

    [!IMPORTANT]

    Suggested IDE extensions

    VS Code

  2. To setup your development environment, first install Docker and Docker-Compose.

    [!NOTE]
    If you are new to Docker, as an alternative activist recommends installing Docker Desktop. Docker Desktop comes with many Docker tools and a straightforward user interface.

  3. Fork the repo, clone your fork and configure the remotes:

    # Clone your fork of the repo into the current directory.
    git clone https://github.com/<your-username>/activist.git
    # Navigate to the newly cloned directory.
    cd activist
    # Assign the original repo to a remote called "upstream".
    git remote add upstream https://github.com/activist-org/activist.git

Now, if you run git remote -v you should see two remote repositories named:

  • origin (forked repository)
  • upstream (activist repository)
  1. Create a .env file and start your docker images with the following:

    cp .env.example .env
    docker-compose up
    # Or with new dependencies:
    # docker-compose up --build
  2. You can then visit http://localhost:3000 to see the development frontend build once the container is up and running.

Note

Feel free to contact the team in the Development room on Matrix if you're having problems getting your environment setup!

Tech Stack

The following are the current and planned technologies for activist.org:

Frontend

Backend

Deployment

Localization

Analytics

Note

Those new to any frameworks or technologies who want to work on their skills are more than welcome to contribute!

Platform Overview

The following sections give a general overview of the various features of activist.org.

Organizations

activist is first and foremost about organizations, with the design of the platform being tailored to their needs. The main function of organizations on activist is organizing and hosting events, but future features aim to help them achieve their goals and scale more effectively.

Organizations will eventually have the following features:

Applying to join

All organizations have to apply to join activist. The application process is the way that the community transparently expands, with the support from organizations already on the platform serving to verify those who want to join. Interactions on the platform will also in some cases be limited to members of organizations. In this way we create important links of trust from organizations to other organizations and each organization to its individual members.

Working Groups

Working groups will allow organizations to organize themselves into smaller teams for specific purposes.

Communications

Organizations will be able to send out communications to their members (announcements) and supporters (statements).

Tasks

Tasks are all the things that organizations need to do, which will be able to be organized in lists and kanban boards.

Events

Events are where things happen on activist. They are organized by topics, types and formats: the first being the focus of the event; the second being the kind of participation that people attending should expect; and the third being the specific kind of activity happening (see below).

Topics

activist will eventually include a broad selection of topics. From the start the platform will focus on a select few: Environment, Housing and Refugees and Migration. Further topics will be added later as interest from organizations and the community grows. The following are the working topics that activist could include:

Environment Housing Refugees and Migration
LGTBQIA+ Racial Justice Women's Rights
Children's Rights Elder Rights Education
Health and Wellbeing Animal Rights Democracy
Labor Rights Technology and Privacy Peace and Resolution
Nutrition Accessibility and Inclusion Institutional Transparency
Freedom of Expression Infrastructure and Mobility Emergency Relief

Beyond clustering by topics, tags will also be used to draw community attention to more specific issues.

Types

Act and Learn are the two types of an event on activist, with coloration being used to easily delineate the level of participation for a particular event (🔴 red is for action and 🔵 blue is for learn).

Formats

Types are further broken down into specific formats. The available formats currently include:

  • Act: protests, volunteering, organizing, fundraising
  • Learn: seminars, webinars, meetings, panel discussions

Formats are not required for events like topics and types, but add an optional granularity to help people find what they're looking for.

Resources

Resources at the start will aggregate links to files that organizations want to present to their members and the general public (if made open). Later the goal is to allow for the creation of unique hosted resources such as maps that indicate areas of interest, findings from researchers, news articles and any other kind of information that they would like to share.

Activists

Activists, user accounts, will not be included in the MVP beyond what's needed for organization management. The main goal at the start is to derive technical specifications that assure that privacy at the highest level can be provided to those users who want it, while at the same time balancing features needed by the community. Activism is dangerous work for many and the platform will respect the needs of those who need anonymity in their work and still want to participate.

Affiliations

activist will have various kinds of relationships between organizations and activists that are collectively known as affiliations. The possible affiliations include:

  • Supporter: an organization or activist that supports another ➡️
  • Ally: the relationship of mutual support ↔️

What kind of affiliate an organization or activist is will determine their notifications and degrees of access to private content.

Votes

Another forthcoming feature, the votes section would allow events to be made in relation to elections and legislation. This would allow users to filter by votes to find events that have an impact on the legislative process. Generally the idea is that Wikidata would be used as a source for votes in the various regions in which activist operates.

Supported By

activist Featured on the Web

2023

2022

activist has received support from the following organizations as a participant in the UNLOCK accelerator:


Wikimedia Deutschland           Wikimedia Serbia           Impact Hub Belgrade          

Powered By

Contributors

Many thanks to all the activist.org contributors! 🚀

Code and Dependencies

The activist team would like to thank all the great software that made activist's development possible ❤️

Disclosure

activist is not directly affiliated with any corporations, political parties or governments. Our goal is to make activism easier for our community and partner organizations.

About

Open-source, nonprofit activism platform

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 81.9%
  • Python 14.1%
  • TypeScript 2.8%
  • CSS 0.6%
  • JavaScript 0.3%
  • HTML 0.2%
  • Dockerfile 0.1%