srsexton94 / mutualaid-client

A social networking app designed to support Mutual Aid network organizing efforts
https://srsexton94.github.io/mutualaid-client/
Other
2 stars 0 forks source link

Mutual Aid, Dual Power: Client Side

Project Description

This project is a social networking app that is designed to support Mutual Aid network organizing efforts. Recently, in the wake of the COVID-19 global crisis, Mutual Aid networks and resources have emerged all over the world. However many of the networks are disconnected and there isn’t a prominent common resource connecting/compiling this information.

This app is intended to stand as a both a network in and of itself, as well as a compilation of other networks and resources to help get users connected to the resources they need, in the medium that works for them.

This repo is the client side application. The project, Mutual Aid, Dual Power, works with a 'User' and 'Post' resource, from its custom API, to allow users to register for an authenticated account and then make, edit, and delete their own posts. Additionally all users, whether registered or not, are able to view all the posts in the database (additionally sorted by the provided 'type').

Project Links

Mutual Aid & Dual Power

'Mutual Aid' as an organizing theory largely emerged from the writings and activism of Pyotr Kropotkin, referring to reciprocal community support intended as non-hierarchical, voluntary, and free exchanges between members of a society or group.

'Dual Power' on the other hand, largely attributted to Bolsheviks and Lenin but having its origins in the writings of Pierre-Joseph Proudhon, refers to the coexisitence and competition between powers (contextually, proletariat/democratic vs. capitalist/autocratic) in transition away from injustice.

In that vein, this project is intended to offer a means to go beyond mutual aid, and help people mobilize and organize towards collective action.

For more information:

Technologies

On the client side, the technologies used included...

Dependencies (Set up & Installation)

Planning Process

The planning process for this project began by outlining User Stories abd Wire Frames. Additionally, though working independently, a project board was made as a task list to track progress.

User Stories

Wireframes

Problem Solving

Throughout this project many of the road blocks faced largely ammounted to a few syntax errors and typo bugs. However, one of the more substantial barriers included variation between controlled and uncontrolled inputs. In generating the radio buttons dynamically (so that the previously selected value would be pre-checked on an edit view) the radio button inputs oscillated between controlled and uncontrolled. In order to resolve that issue, the inputs value attribute was changed to be a comparison operator - returning the given type or an empty string. The empty string will never be reached in this context but allows for the controlled status to remain constant.

More conceptually, the planning of this project placed great emphasis on identifying a suitable MVP scenario, so that the details of the app's basic functionality could be realized more effectively and problems could be more easily parsed. Additionally, utilizing the project board acted as a visualized trajectory of the project. This helped greatly in parsing both the intent and execution of each component part of this project. It also serves the added benefit of increasing accesibility and easing the onboarding process for any new collaborators as this project moves forward.

Unsolved Problems

At current publication the MVP scenario outlined below is considered successful; as is the first of the Moderate Stretch Goals (displaying posts sorted by type).

The other stretch goals have not yet been attempted and contribution is welcomed. It is vaguely intended to proceed in the order presented below, but the order is more or less flexible.

Additionally, a data collection and cleaning process is underway. Once the data is adequately formatted, it should be uploaded to the database.

MVP

Moderate Stretch Goals

Stretch "for the stars!" Goals