A project that connects people in need of clothing and other essentials with people in the community who have things to spare. It's kind of like one on one Goodwill. The main objective is to foster interactions between the housed and unhoused. The donation is the mechanism for building these connections throughout our community. \o/
- Project Status
- Milestones
- Ways to Contribute
- Setup Instructions
- Important URLs
- Deployment
- Product and Design Contributors
- Spare Team
We are currently aiming to launch Spare sometime in late 2019.
- Complete core functionality required for launch (In Progress)
- Prepare demo of app to be presented to partner organizations (TBD)
- Launch app and begin accepting requests (TBD)
- Pick up an engineering task from Github
- Pick up a design task from Github
- Help us with product direction or strategy
- Help us find nonprofit or government partners to help with donation handoff
- Help us find potential users
- Help us define the service design
Also, ping us on the Hack for LA Slack on the #spare channel if you can help. We'd love to have you!
git clone https://github.com/hackforla/spare
cd spare
Copy .env
to .env.dev
, then edit dev file
to change SECRET_KEY value.
(Note the SECRET_KEY value, used by django, can be any string you choose)
cp .env .env.dev
Docker
https://docs.docker.com/install/
Docker-Compose
http://docs.docker.com/compose/install/
Create the docker group and add your user
https://docs.docker.com/install/linux/linux-postinstall/
Add the docker group
sudo groupadd docker
Add your user to the docker group
sudo usermod -aG docker $USER
docker-compose build
docker-compose up
At any point, Ctrl-C
stops the containers.
Note: On first setup, the server may sometimes start before the
database, causing an error. In this case, Ctrl-C
to stop
all containers and re-run Docker Compose.
Next, open a second terminal and execute the following command to list all docker containers currently running:
docker ps
Find the the server container image (probably spare_server
), and
copy the container ID.
Next, execute the following command to access the container's bash shell,
replacing CONTAINER_ID
with the container's ID hash.
docker exec -t -i CONTAINER_ID bash
Once running bash inside of the server container (above), execute the following to run the initial database migrations:
python3 manage.py migrate
Execute the following command to create a superuser for the project:
python3 manage.py createsuperuser
This will be the main superuser admin for your app.
To run initial migrations, create a superuser, and populate demo data, run this command:
docker-compose run server python manage.py get_started
You can now login to the Django Admin for your user at:
In order for the app to be usable, an admin must create entries in both the donations/location
and donations/dropofftime
tables.
- Admin - http://localhost:8000/admin/
- Browsable API - http://localhost:8000/api/
- API Login - http://localhost:8000/api-auth/login/
- API Docs - http://localhost:8000/docs/
- Client App - http://localhost:3000/
https://hackforla-spare-staging.herokuapp.com/
Changes to staging
branch are automatically deployed to above staging server.
https://www.whatcanyouspare.org/
Changes to master
branch are automatically deployed to above production server.
Our project brief is on Google Drive. We are using Github issues to track work that needs to be done. Ping Lex Roman on Slack if you are interested in contributing on the product or design side.
- Strategy and research on Google Drive
- Design files in this Github repo
- Prototype on InVision
Join our #spare Slack channel - http://hackforla-slack.herokuapp.com/
Spare Team is