Say Their Names ✊🏿
Overview
Welcome to the Say Their Names project. Our aim is to build an open-source platform that raises awareness of the injustice and often forgotten names of racial inequality at the hands of law enforcement. We strive to identify and amplify verified organizations to ensure donations are reaching those who can make the most impact with it.
Contributing
We heartily welcome any and all contributions that match our engineering standards!
That being said, this codebase isn't your typical open source project because it's not a library or package with a limited scope—it's our entire product.
Live API can be found here:
Get the code
git clone https://github.com/Say-Their-Name/api.git
cd api
Setup with Docker
This is the recommended setup,as it prevents many PHP or dependency issues (compatibility, missing PHP extension...).
Requirements
- Docker
- Docker Compose
- Taskfile (optional,but much recommended)
Initial setup,with Taskfile (recommended)
git clone https://github.com/Say-Their-Name/api.git
cd api
# Build the development Docker image
task build
# Start the stack
task
# Install vendor dependencies
task vendor
# Prepare the database
task dbreset
# Run shell in the running container
task sh
## from shell you can run composer, artisan, etc
Go to http://localhost:8000
Adminer (Web UI for MySQL DB)
It's accessible at http://localhost:48080
Login using the user/password from the .env.example (should be stn
/stn
)
Other (not recommended) ways to setup are available here
Endpoints Available
GET People
List all
http://localhost:8000/api/people
Get Single
http://localhost:8000/api/people/{firstname-lastname}
Filter by name
http://localhost:8000/api/people?name=george-floyd
Filter by country
http://localhost:8000/api/people?country=united-states
Filter by city
http://localhost:8000/api/people?city=minnesota
GET Donations
List Types
http://localhost:8000/api/donation-types
List all
http://localhost:8000/api/donations
Get Single
http://localhost:8000/api/donations/{id}
Filter by Type
http://localhost:8000/api/donations?type=victims
Filter by Victim
http://localhost:8000/api/donations?name=george-floyd
GET Petitions
List Types
http://localhost:8000/api/petition-types
List All
http://localhost:8000/api/petitions
Get Single
http://localhost:8000/api/petitions/{id}
Filter by Type
http://localhost:8000/api/petitions?type=victims
Filter by Person
http://localhost:8000/api/petitions?name=george-floyd