Welcome to Squid Game! In this project, you'll be creating a squid-themed breakable toy app to level up on the tools and practices we use in the Consulting operation.
Gain basic proficiency with
- Express
- Jest
- Objection and Knex
- React >= 16
- React Query
- TailwindCSS and Block Element Modifier CSS organization
- Develop the communication skills necessary to collaborate effectively with other developers and project managers
- Become efficient in strategizing and researching around unfamiliar concepts and tools
- Adopt a deliverables-focused approach to coding, focusing on producing high-quality, reusable code within a tight deadline
- Install the following tools:
- Fork: Git GUI
- DBeaver: Our go-to database GUI, supporting a wide range of databases
- Loom: For recording screencasts
- Tuple: Our favorite pairing tool; ask a team member for an invite. (only for Mac -- if you have Windows you'll use Zoom to pair instead)
- VSCode: Code editor
- Node, preferably using
nvm
to manage versions. Quick tip: once in your project dir, runningnvm use
will switch you to the correct Node version or prompt you to install it.
- Fork this repo; you make make your repo public or private as long as you give your manager access
- Ask to be invited to the Consultancy Breakable Toy Shortcut project
We use GitHub Actions to run our CI (continuous integration) suite, which includes running our test suite and running some linting checks to ensure that your code adheres to particular style guidelines.
To set up GitHub Actions:
- Rename
.github/workflows/main.yml.example
to.github/workflows/main.yml
- Merge the change into main. GitHub Actions should now run automatically whenever you create a pull request or merge into
main
.
We use the Jest testing framework (and react-hooks-testing-library
where necessary). We aspire to incorporate Cypress for more end-to-end TDD, but we're not there yet :) As a result, our test suite focuses on unit tests for methods and functions and includes React custom hook unit tests where beneficial.
- You'll be assigned a story by your mentor
- Dive in! If you have any questions, post them in the appropriate Slack channels
- When you're about ready to submit a PR, double-check...
a. Have you written tests where appropriate?
b. Does your test suite pass and does your code comply with style guidelines? (Check this easily by running the test, lint, and lint:style commands in your
package.json
files) - Then... a. Follow our squash/rebase approach to consolidate your work into a single commit (see resources) b. Push your work to GitHub and create a PR c. Create a Loom video demoing your feature for your mentor d. Tag your mentor in Shortcut with the link to the URL video, move your story into the RFR column, and then start on your next story!
Learning materials referenced in stories can be found here.