Set in a dystopian cyberpunk future, CYBRDRAG is a browser based fantasy sports style web game. Users invest in the careers of drag performers who are forced to stream every hour by a tech megacorp.
You can play CYBRDRAG here.
Users can invest in randomly generated performers to build a portfolio of shares. The value of performers go up and down over time, according to random events that happen during performances. We want to create the possibility for a shared experience, much like fantasy football, but with a cyberpunk inspired drag theming.
We built the game using a MERN stack - MongoDB for the database, Express for the routing, React for the front end, and Node to handle the business logic. This gave us a separate front end client for designing the user interface, and an independent server for the business logic. Seperating into teams with distinctive responsibilities was much easier because of this. Having JavaScript as our sole programming language was also very helpful, especially as this was a new stack for us.
We use Redux to manage state, and Axios to pull from our Node API to React.
Requirements: NodeJS, MongoDB, Nodemon.
~ git clone https://github.com/ehwus/cybrdrag
~ cd ./cybrdrag/client
~ npm install
~ cd ..
~ npm install
~ npm run server # run the Node server
~ npm run client # run the React client
~ npm run dev # run both in parallel using concurrently
We used Jest for tests on both the front and back end. We have high back end test coverage of 96.94% over 45 tests, but need to work on our front end coverage.
~ npm test
We kept a record of our progress through the final project HERE.
We catalogued the visual design process HERE.
We have a miro board for planning events and performer characteristics HERE.
This project is MIT licensed.