JumpStart is a clone of Kickstarter with some GoFundMe influences.
To start local development for this application, you'll need to:
git clone
this repocd
into the local repo- Run
pipenv install
in the root of the project - Create your own
.env
file in the root of the project based on the.env.example
there - Create a user that matches the user you identified in your
.env
file in PostgreSQL - Create a database that matches the database you identified in your
.env
file in PostgreSQL - Go into the pipenv shell with
pipenv shell
- Run
flask db upgrade
to apply the migrations to your local database - Run
flask seed all
to seed your local database with our seeder content - Open another terminal and
cd
into thereact-app
directory andnpm install
there - Create your own
.env
file in thereact-app
directory based on the.env.example
there - Start your Flask backend in the terminal that's in the root of the local project with
flask run
- Run
npm start
in yourreact-app
directory to start the React app. This should open in your default browser. - Be sure to make your own branch for your changes before pushing up to GitHub.
- PostgreSQL
- Python
- Flask
- SQLAlchemy
- Alembic
- WTForms
- React
- JavaScript
- AWS S3
- Redux
- Heroku
Here's a link to the live app!
Here's a link to our documentation!
Users can:
- Create Projects
- View Projects
- Update their Projects
- Delete their Projects
- Create Donations on others' Projects
- View Donations on all Projects
- Update their Donations
- Delete their Comment on their Donation
In our edit project form, we opted to make the user experience a little easier by letting users choose multiple images in two different ways. Since there might be images that were already uploaded for the project, we had to have two different ways of letting users delete uploaded images. While the backend was fairly straightforward, getting React to render what we wanted proved to be a little more difficult. In the end, we made use of the File API's FileList object and its similarities to JavaScript's arrays to make the process easier.