Git Product home page Git Product logo

arcade-mode's Introduction

freeCodeCamp's Arcade Mode

Join the chat at https://gitter.im/FreeCodeCamp/arcade-mode

Arcade Mode is an interview preparation app featuring algorithm and data structure questions in a timed environment. The end goal will be its incorporation into freeCodeCamp proper as part of the coding interview preparation section.

Note:

Arcade Mode has been undergoing heavy prototyping and iteration. As such, it is currently set up with development and debugging in mind.

Quick Start:

  1. Fork the repository using the "Fork Button" in the upper right hand corner of the interface.
  2. Clone your fork using git clone https://github.com/<YOUR_GITHUB_USERNAME>/arcade-mode.git into your projects directory (e.g., /<YOUR_PROJECTS_DIRECTORY>/
  3. Go into the new arcade-mode directory.
  4. Run npm install to install dependencies and start the build process. If you run into errors, please refer to the FAQ down below.
  5. Run npm start and see the example app at http://localhost:8080

Fork Maintenance:

  1. Set the upstream remote to the official arcade-mode repository: git remote add upstream https://github.com/freeCodeCamp/arcade-mode.git
  2. Update the fork locally by pulling from the upstream remote: git pull upstream master.
  3. Push the updates to your fork repository with git push origin master.

Contributing:

  • After finishing Quick Start steps 1 - 4, do the following:
  1. Find an issue that needs assistance by searching for the Help Wanted tag.
  2. Always make modifications on a branch. Create a branch using: git checkout -b <BRANCH_NAME>.
  3. Test modifications with unit tests npm run test:client and in-app validation on the browser.
  4. Once it all checks out, submit a pull request.

For a more complete guide, see CONTRIBUTING.md.

FAQ:

I'm receiving errors about the npm package, canvas. How can I fix this?

The canvas package has prerequisites that need to be installed before canvas can be installed correctly. Please refer to its npm page for installation instructions that depend on the operating system.

I'm receiving package not found errors on npm install. How can I fix this?

Try removing the node_modules directory, then npm install again. If this does not work, remove both node_modules and package-lock.json and try npm install again.

I'm receiving the error "Received a non-Vinyl object in dest()". How can I fix this?

Remove the node_modules folder and npm install again.

Is there a way I can automate npm run test:client to run when I try to push?

You can use git hooks. We are currently using this pre-push script here, but you may want to tailor it to a different branch or all branches. The project's git hooks can be found in the /bin directory (i.e., pre-push and post-merge).

arcade-mode's People

Contributors

alvinkl avatar codyseibert avatar elliotjz avatar gitter-badger avatar johnking205 avatar kevinnorris avatar nitronr avatar quincylarson avatar timolawl avatar tpoikela avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arcade-mode's Issues

Expand Contributing.md to include additional relevant details

Currently the Contributing.md file does a good job of covering how to get set up, but is should also:

  1. Include an embed of the video demo Tuomas recorded
  2. Include a link to the spreadsheet (read-only) for people to browse to get a better idea of what it's for, and an explanation of what the spreadsheet is.
  3. You might want to clarify the role of Arcade Mode - basically, a stand alone app that will soon become the freeCodeCamp coding interview prep section

Arcade Mode Meeting recap

Hi Arcade Mode contributors,

We decided to put the notes from August 3rd's meeting here for the benefit of everyone who couldn't make it.

Meeting recap:

@timolawl @tpoikela @codyseibert and @jvallexm and I met on Hangouts for 80 minutes to discuss the current state of Arcade mode.

In addition to Arcade Mode itself, freeCodeCamp is working on an Interview Prep section that will eventually feature:

  • thousands of additional algorithm and data structure challenges
  • thousands of multiple choice questions about technology
  • hundreds of "take home assignment" projects with working examples

These additional algorithm and data structure challenges will also be used in Arcade Mode.

@tpoikela said that about 50 Rosetta Code challenges have been ported over to Arcade Mode, along with about 15 original challenges that he and @timolawl have created.

We talked about Arcade Mode's benchmarking behavior - which we hope to also incorporate into the main freeCodeCamp platform.

Action items:

I'm curious to hear what you all think about this. We'll keep this issue open for the time being for discussion.

At this point, a vast majority of the work to be done involves porting the Rosetta Code and Project Euler problems, creating tests for them, and making sure we get URLs for any missing images and host them somewhere like imgur.com (a lot of the Project Euler problems have equations associated with them)

Convert Project Euler tasks to in-house challenges

We currently need help with converting Project Euler tasks into full-fledged in-house challenges. This mostly involves adding a solution to the challenge.

Details:
Please refer to this path.

  • Raw Project Euler tasks are located in the raw directory.
  • Formatted challenges go into the formatted directory; the subdirectory depends on the hundreds-digit (e.g., Problem 53 would go into folder 001_to_100).

The format you see is the in-house format we use to process the challenges into one json file.

What needs to be done:

  • A solution under the /// solutions: header (it should have the same function name as in the challengeSeed)
  • An estimated difficulty rating between 1 (easiest) and 9 (hardest)

For reference, refer to the finished Problem 2: Even Fibonacci numbers.

Overall progress is updated at this spreadsheet.

Please let us know if you would like to get involved at our Gitter room.

Thank you all for the help!

Google analytics events

  <script>
  (function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-55446531-1', 'auto');
  ga('require', 'displayfeatures');
  ga('send', 'pageview');
  </script>

<pre> text not showing up correctly under certain circumstances

<pre> formatted text, especially bolded text wrapped within <span class="rosetta__text--bold"></span> occasionally do not appear.

Steps to reproduce:
macOS 10.12.5
Chrome v59
Go to the "Closest-pair problem" challenge.
Arcade mode in two-column layout (large screen mode, as it works fine in single column mode).
Play around with the challenge panel buttons.

This does not happen in the following:
Does not happen in Windows under Firefox or Chrome.
Does not happen in macOS Firefox or Safari.

Proper display:
image

Observed display:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.