homedepot / infinite-wish-board

A platform for kids to make wishes at Make-A-Wish, GA.
Apache License 2.0
27 stars 43 forks source link
docker docker-compose expressjs mongodb reactjs

Hacktoberfest

Infinite Wish Board

create-react-app + expressjs + mongodb + docker-compose!!

Node.JS Version Code Coverage Build Status License

What is Infinite Wish Board?

It is a new digital experience for kids that visit the Make-A-Wish of Georgia office. We, at Home Depot, donated a complete office renovation to make the Georgia office more inviting to kids. As part of that makeover, we also agreed to add a new digital experience. This is that experience.

Quick Setup

Infinite Wish Board uses docker-compose to get the entire environment setup off of the ground.

The tech stack is:

If you don't have docker installed, install docker desktop.

NOTE: If it's your first time installing Docker & you're on Windows, make sure the "Use Windows containers instead of Linux containers" checkbox is unchecked during setup, or you will run into an error when trying to build.

From there, clone the repository into your workspace of choice.

Finally, run the following command from your favorite terminal:

docker-compose down && docker-compose build && docker-compose up

NOTE: The first build will be slow due to docker world-building

This will host your front end on localhost:3001, your api endpoint on localhost:3002, and mongodb will be networked internally (more details TBD)

The frontend and backend will auto-refresh as you make changes, and the only time you will ever need to re-run docker-compose down && docker-compose build && docker-compose up is if you made changes to the package.json file in either ui or api.

TODOs

See issues