{"id":19627076,"url":"https://github.com/brookr/code-301","last_synced_at":"2026-03-04T13:31:29.086Z","repository":{"id":66661704,"uuid":"49017562","full_name":"brookr/code-301","owner":"brookr","description":"Template for Code Fellows Code 301 class","archived":false,"fork":false,"pushed_at":"2016-03-08T20:41:49.000Z","size":51355,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T20:14:26.357Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brookr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-04T19:14:39.000Z","updated_at":"2021-05-21T14:42:06.000Z","dependencies_parsed_at":"2023-02-21T12:15:22.321Z","dependency_job_id":null,"html_url":"https://github.com/brookr/code-301","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brookr/code-301","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookr%2Fcode-301","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookr%2Fcode-301/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookr%2Fcode-301/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookr%2Fcode-301/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brookr","download_url":"https://codeload.github.com/brookr/code-301/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookr%2Fcode-301/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30081421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T11:48:24.627Z","updated_at":"2026-03-04T13:31:29.055Z","avatar_url":"https://github.com/brookr.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code 301: Intermediate Software Development\n\nWelcome to Code 301! This is a class that builds on your fundamental knowledge of HTML, CSS, JavaScript, git, and general web development, to prepare you for the deep dive of any Code 401 class.\n\n# Introduction\n\nWe are going to learn about many different topics of web development. The overall structure of the course is based on Model-View-Controller (MVC), which is a common design pattern for web applications.\n\nThe general course schedule is:\n\nFull Time  | Part Time    | Topic\n-----------|--------------|---------------\nWeek 1     | Week 1 and 2 | The View\nWeek 2     | Week 3 and 4 | The Model\nWeek 3     | Week 5 and 6 | The Controller\nWeek 4     | Week 7 and 8 | Your Project\n\n## Slides from class\n\nSlides will be placed in each class' lecture-code subdirectory after they are presented.\n\nSlides will be in PDF format with presenter notes for re-viewing.\n\n## Assignments\n\nLab-time code assignments follow each class time. You can find these assignments in the subdirectories of each class folder. Generally, you'll have a \"pair\" assignment that you'll work on with a classmate, and an individual \"sandbox\" assignment in which you'll build up your own online portfolio. Useful for your coming career change!\n\nInstructions for completing and submitting the assignments can be found in the README files of the appropriate subdirectories.\n\nAssignments are submitted using a professional-grade git-flow. If you haven't done so already, it's time to get comfortable with the core git commands. Don't worry, we'll give you step by step help as needed.\n\n# Required Computer Setup\n\n## Install Atom\n\nIf you haven't already, install [Atom](https://atom.io). If you have used an advanced text editor like Sublime Text, then Atom will feel familiar to you. Atom is free, open-source, cross-platform, and has a wide array of useful plug-ins available. Please use Atom during Code 301. (And yes...if you are proficient with another text editor that you *love*, you may use that instead)\n\n[Atom's documentation](https://atom.io/docs/latest) is top-notch. Review it now to familiarize yourself with the basics. Make sure you're looking at the docs for the latest version.\n\n## Install Node\n\n*Note* If you get an error while installing these packages such as \"try again as root/administrator\", you may need to use the `sudo` command to get administrator access. For example `sudo apt-get install nodejs`.\n\n#### Linux instructions\n\n  To install Node, open your Terminal, and copy and paste the following line, then hit Enter:\n\n  `curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -`\n\n  It will churn away for a while, and then once it's done you can run the following command:\n\n  `sudo apt-get install nodejs`\n\n#### Mac instructions\n\n  If you took Code 201, you should already have Homebrew installed. If you have not, follow the guide on [this page](https://github.com/codefellows/code-201-prework/blob/master/prework/mac/2_homebrew.md#install-homebrew).\n\n  To install Node, open your Terminal, and enter:\n\n  `brew install node`\n\n#### Windows instructions\n\n  To install Node, go [here](https://nodejs.org/en/download/), and then download and run the Windows Installer. Make sure you do not deselect any of the Node components such as NPM during the installation.\n\n### Verify the Node installation\nNow let's verify that it is installed. Enter the following into your terminal:\n\n`node -e 'console.log(\"works\")'`\n\nYou should get a response that says \"works\". If not, try reinstalling Node again\n\n## Install eslint and live-server Node packages\n\nNow that you have Node installed, you can install Node packages using its package manager, **NPM**. Open your Terminal (Git Bash on Windows) and enter:\n\n`npm -g i eslint live-server`\n\nYou should see a lot of feedback as it installs.\n\n### Verify the Node packages installation\nNow let's verify that it is installed. Enter the following into your terminal:\n\n`npm list -g --depth=0`\n\nYou should get a list back that includes `live-server` and `eslint`.\n\n![](http://i.imgur.com/1ITioP1.png)\n\n### What is this linter thing?\n\nLinting is the process of running a program that will analyze code for potential errors. It is an important part of the quality assurance process.\n\n\u003e `lint` was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code. The term is now applied generically to tools that flag suspicious usage in software written in any computer language.\n\nThat means the linter is your friend! It will help you write syntactically correct code, so you can catch errors in your text editor, rather than having to hop over the browser, refresh your page, and search for errors. Faster feedback makes for happier developers (that's you!).\n\n## Install linter and linter-eslint Atom packages\n\nFor this next part, you will have Atom's package manager **apm** install some packages. Go [here](https://atom.io/docs/v0.194.0/using-atom-atom-packages#command-line) to verify it's enabled. Once you have verified that apm commands will work, enter this on your Terminal:\n\n`apm install linter linter-eslint`\n\nYou should get two success messages while it installs the linter and linter-eslint packages.\n\n### Verify the Atom packages installation\nEnter the following into your Terminal:\n\n`apm ls`\n\n ![](http://i.imgur.com/Jlv6LeP.png)\n\n You should get a long list and at the end you should get a list of packages you installed for Atom. Linter and linter-eslint should be on that list.\n\nCongrats! You're all done.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrookr%2Fcode-301","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrookr%2Fcode-301","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrookr%2Fcode-301/lists"}