🌐 Language
Open a localization issue to add a new readme to the README directory
- DE: README_DE.md
- EN: README.md
- FR: README_FR.md
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.
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 ⇧
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 ⇧
- Reporting bugs as they're found 🐞
- Working on new features ✨
- Localization for the platform 🌐
- Please join our public localization project on Transifex!
- Documentation for onboarding and project cohesion 📝
- Sharing activist.org with others! 🚀
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 ⇧
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 ⇧
- 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
- 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.
- Fork the repo, clone your fork, and configure the remotes:
Note
Consider using SSH
Alternatively to using HTTPS as in the instructions below, consider SSH to interact with GitHub from the terminal. SSH allows you to connect without a user-pass authentication flow.
To run git commands with SSH, remember then to substitute the HTTPS URL, https://github.com/...
, with the SSH one, [email protected]:...
.
- e.g. Cloning now becomes
git clone [email protected]:<your-username>/activist.git
GitHub also has their documentation on how to Generate new SSH key. 🔑
# 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)
-
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
-
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:
- Nuxt.js • Vue.js • TypeScript • Tailwind CSS • Headless UI
- Django • PostgreSQL (planned)
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:
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 will allow organizations to organize themselves into smaller teams for specific purposes.
Organizations will be able to send out communications to their members (announcements) and supporters (statements).
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).
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.
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).
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
- Presentation of activist at the Berlin tech from below meetup
2022
- Presentation for the 2022 Wikimedia UNLOCK accelerator
- activist on the Wikimedia UNLOCK accelerator website
activist has received support from the following organizations as a participant in the UNLOCK accelerator:
Many thanks to all the activist.org contributors! 🚀
The activist team would like to thank all the great software that made activist's development possible ❤️
- Countless Nuxt modules
- OpenStreetMap
- Leaflet
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.