Skip to content

HackMIT/playground

Repository files navigation

playground

Making the HackMIT Club Penguin 🐧 dream come true.

Gitter

Dabbing in Playground

Setup

Make sure you have Go installed. If you don't have Go installed, click here. (If you're on macOS, I recommend using Homebrew)

Start the database

Make sure Docker is installed, and that the Docker daemon is running. Then, run the following command to start an ephemeral database in the background:

docker run -dp 6379:6379 --name playground-db redis:latest

Set up secrets

You'll need our secrets file. If you want to use your own secrets, copy .env.sample to .env and paste yours in there. If you need to get the HackMIT ones, message Jack.

Build

To build the project, just run the following command:

go build .

Run

To run the project, you can then just run the binary:

./playground -reset

Use the -reset flag the first time you run Playground in order to reset the database to its initial state. After you do that once, you don't have to use the flag anymore, unless you want to wipe everything.

Run the frontend project

Check out the playground-frontend repo for more details about how to set up the user-facing side of this project.

Contributing

In the coming weeks, we'll be cleaning up the project to a point where it isn't nearly as embarrassing as it is now. If you find any bad coding practices (spoiler: you will), we apologize — much of this project was completed at the last minute. Once we have a chance to clean everything up, we should be ready to receive some contributions!

FAQs

Can I use this for my own event?

In the coming months, we plan to clean up this project and get it to a point where you can run an event by just adjusting some config files! This won't be ready for a little while though — stay tuned for more info.

Why did you build your own virtual platform?

Building it was fun! Also, we didn't want to pay for one, and we didn't love the options that were available back in April, when we decided to take on the project.

How can I deploy this?

We used AWS Elastic Beanstalk during HackMIT in order to handle the load from thousands of concurrently connected users — our project is set up to have multiple ingest servers running in parallel. We'll publish more details about this soon.

I have another question!

Feel free to ask us on Gitter! You can also email us at team@hackmit.org.

License

Playground is available under the MIT license. See the LICENSE file for more details.

Credits

This project wouldn't have been possible without our supportive and energetic team and the greater open source community.

Dev team

Design team

Resources