Galacticode uses a 3D gaming interface to guide users through increasingly difficult JavaScript challenges.
Nova the alien is lost in space and needs help getting home after running out of fuel on an unfamiliar planet. Use your foundational JavaScript skills to solve coding challenges, gain fuel points, unlock planets, and guide Nova home.
Sign in with a Google or GitHub account and select a planet from the main screen to play. Once on the planet, use the arrow or WASD keys to move Nova around. Coding challenges are rendered as green cones on the planet’s surface. Move Nova up to a cone to begin a challenge or click “View as List” on the bottom of the screen to select a challenge by name instead.
Once in a coding challenge, read the prompt instructions and examples before writing your solution. When you’re ready to submit your code, click the “Run” button below the code editor and wait for your results to populate on the “Output” tab. If you’ve passed all of the tests, you’ll receive points in your fuel bar. Otherwise, you’ll be able to re-attempt the challenge after making some changes.
When your fuel bar reaches 100 points, you’ll unlock the next planet on the home screen. Planets contain an additional set of coding challenges at progressively higher difficulty levels.
At any time, you can access your account details to view a list of challenges you’ve already completed along with solutions. You’ll also be able to see the furthest planet you’ve unlocked.
At the moment, Galacticode supports just two planets.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Galacticode runs in a Node environment and requires a postgreSQL database named “galacticode.” You’ll also need to create a database for testing called “galacticode-testing.”
Fork and/or clone this repository to create your own local copy and follow the instructions below.
Install dependencies for the project with
npm install
And run the seed file with
npm run seed
Galacticode is deployed on Heroku at https://galacticode.herokuapp.com/.
If you have a local copy of this repository, start a localhost server in development mode by running
npm run start-dev
Technology | Description |
---|---|
Node.js | Runtime environment and npm package manager |
Express | The web framework used |
PostgreSQL | Relational database |
Sequelize | promise-based ORM |
React | Used to build main components |
Redux | Used to store game state |
Docker | Used to securely run user’s code. |
Ace | Embedded editor for user input. |
Three.js | webGL |
Mochawesome | Used to transform test results into JSON file |