An open API service indexing awesome lists of open source software.

https://github.com/kenfdev/the-software-essentialist


https://github.com/kenfdev/the-software-essentialist

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# The Software Essentialist (Course Projects Repo)

> The official course repo for [The Software Essentialist](https://essentialist.dev/) course students.

## What is this

This is the repo that we'll use to work on assignments throughout the program.

## How to get started?
- Install Git
- Install Node v16 or higher on your machine
- Git clone or fork this repo

## How to work effectively

- When working on a module, cd directly into that module and open up your Visual Studio Code (or respective editor) to show only that module so that you get code completion.
- [Use the Red-Green-Refactor Commit process](https://ardalis.com/rgrc-is-the-new-red-green-refactor-for-test-first-development/) to track your work and provide for the ability for you to revert back and try new designs

## After completing an assignment (how to improve)

### 1. Watch the demonstration modules

- You'll eventually find demonstration modules for each of the assignments. You can use these to compare designs.

### 2. Get feedback on your work

- **First, get the assignment hashtag**: Each assignment has a hashtag to uniquely identify it (ie: #palindromeChecker). You can find this in the readme for each assignment. Grab this.
- **Then, get your start/end commits**: Your commits to GitHub and then navigate to the 'Commits' page. Find the commits that mark the start and end of the assignment you want to review.
- **Finally, submit for feedback**: Post to [#course-chat](https://discord.com/channels/997940575590416435/1074124524632674335) for feedback from myself, the alumni, and the other community members.

Here's an example:

> "I just finished #palindromeChecker here. Would love some feedback on my commits. Start (\), end (\). Cheers!

### 3. Review a submission

- **Get to the Discord**: Go into the [#course-chat](https://discord.com/channels/997940575590416435/1074124524632674335) channel.
- **Find other submissions**: Use the assignment hashtag name to find other submissions. While in the channel, you can use CMD/CTRL + F to bring up the finder in Discord. Type in the hashtag to find other submissions. Find one and pull it up.
- **Two things they did well**: Read through their commits, from the starting one and look for 2 things you think they did well. Leave a comments to start a discussion.
- **Two things you found interesting or might do differently & why**: Look for 2 parts of their design you either found interesting and start a discussion or comment how you might have implemented things differently. Feel free to tag Khalil (@stemmlerjs), Daniel (@iPwnPancakes), or Tony (@TonyToth) for comments as well.

### 4. Design it twice (do it again)

- The last thing you can do is something John Ousterhout recommends, that I highly agree with: _design it twice_. Do it again. You've likely learned things you'd do differently. Drill it again. Programming is very much a tactile & pattern-matching activity. You just need reference experiences.

## How to deal with snags

- If you get stuck or run into any issues, use the [#course-chat](https://discord.com/channels/997940575590416435/1074124524632674335) channel in Discord to discuss so we can refine things and make 'em smoother.