/boolbots

Learning Lab on booleans intended to go alongside ACM Teach LA's Python curriculum!

Primary LanguageTypeScriptMIT LicenseMIT

BoolBots

Production Build License: MIT Contributor Covenant Netlify Status

Overview

BoolBots is a learning lab from ACM Teach LA made with the intent to help students in the "Intro to Programming with Python" curriculum learn about booleans. We help students understand what a boolean is and how various operators work by having them evaluate expressions and matching them with the robot that corresponds to these statements. This project was deployed with Netlify and uses react-router, react-dropdown, react-markdown, react-rewards, and use-sound. Developed by @zhangallison, @alvinh36, @archishadatta, @connord28, @ldalton02, and @nendow02.

Development Setup

We'll use a really common Node.js project workflow + Yarn! First, let's clone our repository, and install all of our yarn dependencies:

git clone https://github.com/uclaacm/boolbots.git
cd boolbots

If you don't have yarn installed...

npm install --global yarn

Then install our dependencies!

yarn install
yarn prepare

(If the above commands don't work even after installing yarn via npm, check this npm installation guide, click on alternatives, choose your operating system, and follow the steps there!)

(We handle the yarn and npm conflict issues within our .gitignore we set up so dw about it!) To start our app, you just need to run yarn start!

yarn start

And to build our project for production (with CRA and Webpack's bundling with all that goodness),

yarn run build

Contribution Workflow

Thanks for your interest in contributing to BoolBots! ❤️

Here's a quick guide on how to get started.

  1. Either make a new branch or a fork of this repository. main is a protected branch, so you cannot push to it.
  2. Follow the instructions in "Development Setup" above. If you're on a fork, replace the URL with the fork's URL; if you're on a different branch, check it out using git checkout.
  3. Beep boop away!
  4. Before you push, make sure your app runs with yarn start. If there are any errors, our CI/CD service will reject your build.
  5. Once you're ready, stage and commit your changes!
  6. Make a pull request with your changes, and let someone on your project team know. a. Netlify has a neat feature called "Deploy Previews" that give you a link to preview your changes; see the blog post for more info!
  7. If your code passes code review, then we can merge it into main. Congratulations! If you'd like, it's now safe to delete your branch/fork.

Helpful Commands

By running yarn lint-fix we can use the linter that we set-up to format our code the way that passes our style checks! Before you commit your changes and submit a pull request, make sure to run

yarn lint-fix

With Husky, we run yarn lint-staged automatically before you commit! If you want to lint before commiting, you can run yarn lint-fix.

Some More Helpful Tools

  • Preloading Images - if rendering images gets annoying because it's slow: Link Example here

Licensing & Attribution

This project and its code are licensed under the MIT License. You're free to use them however you wish, though we'd love to hear from you if you found this useful!