StevenSJones
Recent University of Arizona Full-stack web development graduate with a robust skillset including software engineering principles and customer service.
Sun City, AZ
Pinned Repositories
p1_location_info
GameTracker
This app will allow both casual and enthusiast gamers to track games that they want to play, games that they are currently playing, and games that they have completed.
Asynchronous-Javascript
Asynchronous-Javascript
burger
# Node Express Handlebars ### Overview In this assignment, you'll create a burger logger with MySQL, Node, Express, Handlebars and a homemade ORM (yum!). Be sure to follow the MVC design pattern; use Node and MySQL to query and route data in your app, and Handlebars to generate your HTML. ### Read This When trying to connect remotely to your Heroku database on an open network such as a coffee shop, library, or even your University WiFi, it will be blocked. If you are experiencing a Heroku connection error, this could be why. ### Important * **This assignment must be deployed.** Be sure to utilize the [MYSQL Heroku Deployment Guide](../../03-Supplemental/MySQLHerokuDeploymentProcess.pdf) in order to deploy your assignment. ### Before You Begin * Eat-Da-Burger! is a restaurant app that lets users input the names of burgers they'd like to eat. * Whenever a user submits a burger's name, your app will display the burger on the left side of the page -- waiting to be devoured. * Each burger in the waiting area also has a `Devour it!` button. When the user clicks it, the burger will move to the right side of the page. * Your app will store every burger in a database, whether devoured or not. * [Check out this video of the app for a run-through of how it works](https://youtu.be/msvdn95x9OM). ### Commits Having an active and healthy commit history on GitHub is important for your future job search. It is also extremely important for making sure your work is saved in your repository. If something breaks, committing often ensures you are able to go back to a working version of your code. * Committing often is a signal to employers that you are actively working on your code and learning. * We use the mantra “commit early and often.” This means that when you write code that works, add it and commit it! * Numerous commits allow you to see how your app is progressing and give you a point to revert to if anything goes wrong. * Be clear and descriptive in your commit messaging. * When writing a commit message, avoid vague messages like "fixed." Be descriptive so that you and anyone else looking at your repository knows what happened with each commit. * We would like you to have well over 200 commits by graduation, so commit early and often! ### Submission on BCS * **This assignment must be deployed.** * Please submit both the deployed Heroku link to your homework AND the link to the Github Repository! ## Instructions #### App Setup 1. Create a GitHub repo called `burger` and clone it to your computer. 2. Make a package.json file by running `npm init` from the command line. 3. Install the Express npm package: `npm install express`. 4. Create a server.js file. 5. Install the Handlebars npm package: `npm install express-handlebars`. 6. Install MySQL npm package: `npm install mysql`. 7. Require the following npm packages inside of the server.js file: * express #### DB Setup 1. Inside your `burger` directory, create a folder named `db`. 2. In the `db` folder, create a file named `schema.sql`. Write SQL queries this file that do the following: * Create the `burgers_db`. * Switch to or use the `burgers_db`. * Create a `burgers` table with these fields: * **id**: an auto incrementing int that serves as the primary key. * **burger_name**: a string. * **devoured**: a boolean. 3. Still in the `db` folder, create a `seeds.sql` file. In this file, write insert queries to populate the `burgers` table with at least three entries. 4. Run the `schema.sql` and `seeds.sql` files into the mysql server from the command line 5. Now you're going to run these SQL files. * Make sure you're in the `db` folder of your app. * Start MySQL command line tool and login: `mysql -u root -p`. * With the `mysql>` command line tool running, enter the command `source schema.sql`. This will run your schema file and all of the queries in it -- in other words, you'll be creating your database. * Now insert the entries you defined in `seeds.sql` by running the file: `source seeds.sql`. * Close out of the MySQL command line tool: `exit`. #### Config Setup 1. Inside your `burger` directory, create a folder named `config`. 2. Create a `connection.js` file inside `config` directory. * Inside the `connection.js` file, setup the code to connect Node to MySQL. * Export the connection. 3. Create an `orm.js` file inside `config` directory. * Import (require) `connection.js` into `orm.js` * In the `orm.js` file, create the methods that will execute the necessary MySQL commands in the controllers. These are the methods you will need to use in order to retrieve and store data in your database. * `selectAll()` * `insertOne()` * `updateOne()` * Export the ORM object in `module.exports`. #### Model setup * Inside your `burger` directory, create a folder named `models`. * In `models`, make a `burger.js` file. * Inside `burger.js`, import `orm.js` into `burger.js` * Also inside `burger.js`, create the code that will call the ORM functions using burger specific input for the ORM. * Export at the end of the `burger.js` file. #### Controller setup 1. Inside your `burger` directory, create a folder named `controllers`. 2. In `controllers`, create the `burgers_controller.js` file. 3. Inside the `burgers_controller.js` file, import the following: * Express * `burger.js` 4. Create the `router` for the app, and export the `router` at the end of your file. #### View setup 1. Inside your `burger` directory, create a folder named `views`. * Create the `index.handlebars` file inside `views` directory. * Create the `layouts` directory inside `views` directory. * Create the `main.handlebars` file inside `layouts` directory. * Setup the `main.handlebars` file so it's able to be used by Handlebars. * Setup the `index.handlebars` to have the template that Handlebars can render onto. * Create a button in `index.handlebars` that will submit the user input into the database. #### Directory structure All the recommended files and directories from the steps above should look like the following structure: ``` . ├── config │ ├── connection.js │ └── orm.js │ ├── controllers │ └── burgers_controller.js │ ├── db │ ├── schema.sql │ └── seeds.sql │ ├── models │ └── burger.js │ ├── node_modules │ ├── package.json │ ├── public │ └── assets │ ├── css │ │ └── burger_style.css │ └── img │ └── burger.png │ │ ├── server.js │ └── views ├── index.handlebars └── layouts └── main.handlebars ``` ### Reminder: Submission on BCS * Please submit both the deployed Heroku link to your homework AND the link to the Github Repository! - - - ### Minimum Requirements Attempt to complete homework assignment as described in instructions. If unable to complete certain portions, please pseudocode these portions to describe what remains to be completed. Hosting on Heroku and adding a README.md are required for this homework. In addition, add this homework to your portfolio, more information can be found below. - - - ### Hosting on Heroku Now that we have a backend to our applications, we use Heroku for hosting. Please note that while **Heroku is free**, it will request credit card information if you have more than 5 applications at a time or are adding a database. Please see [Heroku’s Account Verification Information](https://devcenter.heroku.com/articles/account-verification) for more details. - - - ### Create a README.md Add a `README.md` to your repository describing the project. Here are some resources for creating your `README.md`. Here are some resources to help you along the way: * [About READMEs](https://help.github.com/articles/about-readmes/) * [Mastering Markdown](https://guides.github.com/features/mastering-markdown/) - - - ### Add To Your Portfolio After completing the homework please add the piece to your portfolio. Make sure to add a link to your updated portfolio in the comments section of your homework so the TAs can easily ensure you completed this step when they are grading the assignment. To receive an 'A' on any assignment, you must link to it from your portfolio. - - - ### One More Thing This is a really tough homework assignment, but we want you to put in your best effort to finish it. If you have any questions about this project or the material we have covered, please post them in the community channels in slack so that your fellow developers can help you! If you're still having trouble, you can come to office hours for assistance from your instructor and TAs. ### Reminder When trying to connect remotely to your Heroku database on an open network such as a coffee shop, library, or even your University WiFi, it will be blocked. If you are experiencing a Heroku connection error, this could be why. **Good Luck!**
codeQuizFourthEdition
As you proceed in your career as a web developer, you will probably be asked to complete a coding assessment, which is typically a combination of multiple-choice questions and interactive challenges. Build a timed code quiz with multiple-choice questions. This app will run in the browser and feature dynamically updated HTML and CSS powered by your JavaScript code. It will also feature a clean and polished user interface and be responsive, ensuring that it adapts to multiple screen sizes.
passwordGeneratorThirdEdition
Create an application that generates a random password based on user-selected criteria. This app will run in the browser and feature dynamically updated HTML and CSS powered by your JavaScript code. It will also feature a clean and polished user interface and be responsive, ensuring that it adapts to multiple screen sizes.
randomNumberGenerator3
This is the repo for homework assignment number 3 in the coding boot camp
teamGeneratorEighthEdition
# Unit 10 OOP Homework: Template Engine - Employee Summary One of the most important aspects of programming is writing code that is readable, reliable, and maintainable. Oftentimes, *how* we design our code is just as important as the code itself. In this homework assignment, your challenge is to build a Node CLI that takes in information about employees and generates an HTML webpage that displays summaries for each person. Since testing is a key piece in making code maintainable, you will also be ensuring that all unit tests pass. ## Instructions You will build a software engineering team generator command line application. The application will prompt the user for information about the team manager and then information about the team members. The user can input any number of team members, and they may be a mix of engineers and interns. This assignment must also pass all unit tests. When the user has completed building the team, the application will create an HTML file that displays a nicely formatted team roster based on the information provided by the user. Following the [common templates for user stories](https://en.wikipedia.org/wiki/User_story#Common_templates), we can frame this challenge as follows: ``` As a manager I want to generate a webpage that displays my team's basic info so that I have quick access to emails and GitHub profiles ``` How do you deliver this? Here are some guidelines: * Use the [Inquirer npm package](https://github.com/SBoudrias/Inquirer.js/) to prompt the user for their email, id, and specific information based on their role with the company. For instance, an intern may provide their school, whereas an engineer may provide their GitHub username. * Your app will run as a Node CLI to gather information about each employee. * Below is an example of what your application may look like. Remember, the styling is completely up to you so try to make it unique. ![Employee Summary 1](./Assets/10-OOP-homework-demo-1.png) ![Employee Summary 2](./Assets/10-OOP-homework-demo-2.png) In the `Develop` folder, there is a `package.json`, so make sure to `npm install`. The dependencies are, [jest](https://jestjs.io/) for running the provided tests, and [inquirer](https://www.npmjs.com/package/inquirer) for collecting input from the user. There are also unit tests to help you build the classes necessary. It is recommended that you follow this workflow: 1. Run tests 2. Create or update classes to pass a single test case 3. Repeat 🎗 Remember, you can run the tests at any time with `npm run test` It is recommended that you start with a directory structure that looks like this: ``` lib/ // classes and helper code output/ // rendered output templates/ // HTML template(s) test/ // jest tests Employee.test.js Engineer.test.js Intern.test.js Manager.test.js app.js // Runs the application ``` ### Hints * Create multiple HTML templates for each type of user. For example, you could use the following templates: * `main.html` * `engineer.html` * `intern.html` * `manager.html` * You will want to make your methods as pure as possible. This means try to make your methods simple so that they are easier to test. * The different employee types should all inherit some methods and properties from a base class of `Employee`. * In your HTML template files, you may want to add a placeholder character that helps your program identify where the dynamic markup begins and ends. ## Minimum Requirements * Functional application. * GitHub repository with a unique name and a README describing the project. * User can use the CLI to generate an HTML page that displays information about their team. * All tests must pass. ### Classes The project must have the these classes: `Employee`, `Manager`, `Engineer`, `Intern`. The tests for these classes in the `tests` directory must all pass. The first class is an `Employee` parent class with the following properties and methods: * name * id * email * getName() * getId() * getEmail() * getRole() // Returns 'Employee' The other three classes will extend `Employee`. In addition to `Employee`'s properties and methods, `Manager` will also have: * officeNumber * getOfficeNumber() * getRole() // Overridden to return 'Manager' In addition to `Employee`'s properties and methods, `Engineer` will also have: * github // GitHub username * getGithub() * getRole() // Overridden to return 'Engineer' In addition to `Employee`'s properties and methods, `Intern` will also have: * school * getSchool() * getRole() // Overridden to return 'Intern' ### User input The project must prompt the user to build an engineering team. An engineering team consists of a manager, and any number of engineers and interns. ### Roster output The project must generate a `team.html` page in the `output` directory, that displays a nicely formatted team roster. Each team member should display the following in no particular order: * Name * Role * ID * Role-specific property (School, link to GitHub profile, or office number) ## Bonus * Use validation to ensure that the information provided is in the proper expected format. * Add the application to your portfolio. ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: * Your commit history is a signal to employers that you are actively working on projects and learning new skills. * Your commit history allows you to revert your codebase in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We would like you to have well over 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * The URL of the GitHub repository * A video demonstrating the entirety of the app's functionality - - - © 2019 Trilogy Education Services, a 2U, Inc. brand. All Rights Reserved.
weather-Dashboard
AS A traveler I WANT to see the weather outlook for multiple cities SO THAT I can plan a trip accordingly
work-Day-Scheduler
AS AN employee with a busy schedule I WANT to add important events to a daily planner SO THAT I can manage my time effectively
StevenSJones's Repositories
StevenSJones/teamGeneratorEighthEdition
# Unit 10 OOP Homework: Template Engine - Employee Summary One of the most important aspects of programming is writing code that is readable, reliable, and maintainable. Oftentimes, *how* we design our code is just as important as the code itself. In this homework assignment, your challenge is to build a Node CLI that takes in information about employees and generates an HTML webpage that displays summaries for each person. Since testing is a key piece in making code maintainable, you will also be ensuring that all unit tests pass. ## Instructions You will build a software engineering team generator command line application. The application will prompt the user for information about the team manager and then information about the team members. The user can input any number of team members, and they may be a mix of engineers and interns. This assignment must also pass all unit tests. When the user has completed building the team, the application will create an HTML file that displays a nicely formatted team roster based on the information provided by the user. Following the [common templates for user stories](https://en.wikipedia.org/wiki/User_story#Common_templates), we can frame this challenge as follows: ``` As a manager I want to generate a webpage that displays my team's basic info so that I have quick access to emails and GitHub profiles ``` How do you deliver this? Here are some guidelines: * Use the [Inquirer npm package](https://github.com/SBoudrias/Inquirer.js/) to prompt the user for their email, id, and specific information based on their role with the company. For instance, an intern may provide their school, whereas an engineer may provide their GitHub username. * Your app will run as a Node CLI to gather information about each employee. * Below is an example of what your application may look like. Remember, the styling is completely up to you so try to make it unique. ![Employee Summary 1](./Assets/10-OOP-homework-demo-1.png) ![Employee Summary 2](./Assets/10-OOP-homework-demo-2.png) In the `Develop` folder, there is a `package.json`, so make sure to `npm install`. The dependencies are, [jest](https://jestjs.io/) for running the provided tests, and [inquirer](https://www.npmjs.com/package/inquirer) for collecting input from the user. There are also unit tests to help you build the classes necessary. It is recommended that you follow this workflow: 1. Run tests 2. Create or update classes to pass a single test case 3. Repeat 🎗 Remember, you can run the tests at any time with `npm run test` It is recommended that you start with a directory structure that looks like this: ``` lib/ // classes and helper code output/ // rendered output templates/ // HTML template(s) test/ // jest tests Employee.test.js Engineer.test.js Intern.test.js Manager.test.js app.js // Runs the application ``` ### Hints * Create multiple HTML templates for each type of user. For example, you could use the following templates: * `main.html` * `engineer.html` * `intern.html` * `manager.html` * You will want to make your methods as pure as possible. This means try to make your methods simple so that they are easier to test. * The different employee types should all inherit some methods and properties from a base class of `Employee`. * In your HTML template files, you may want to add a placeholder character that helps your program identify where the dynamic markup begins and ends. ## Minimum Requirements * Functional application. * GitHub repository with a unique name and a README describing the project. * User can use the CLI to generate an HTML page that displays information about their team. * All tests must pass. ### Classes The project must have the these classes: `Employee`, `Manager`, `Engineer`, `Intern`. The tests for these classes in the `tests` directory must all pass. The first class is an `Employee` parent class with the following properties and methods: * name * id * email * getName() * getId() * getEmail() * getRole() // Returns 'Employee' The other three classes will extend `Employee`. In addition to `Employee`'s properties and methods, `Manager` will also have: * officeNumber * getOfficeNumber() * getRole() // Overridden to return 'Manager' In addition to `Employee`'s properties and methods, `Engineer` will also have: * github // GitHub username * getGithub() * getRole() // Overridden to return 'Engineer' In addition to `Employee`'s properties and methods, `Intern` will also have: * school * getSchool() * getRole() // Overridden to return 'Intern' ### User input The project must prompt the user to build an engineering team. An engineering team consists of a manager, and any number of engineers and interns. ### Roster output The project must generate a `team.html` page in the `output` directory, that displays a nicely formatted team roster. Each team member should display the following in no particular order: * Name * Role * ID * Role-specific property (School, link to GitHub profile, or office number) ## Bonus * Use validation to ensure that the information provided is in the proper expected format. * Add the application to your portfolio. ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: * Your commit history is a signal to employers that you are actively working on projects and learning new skills. * Your commit history allows you to revert your codebase in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We would like you to have well over 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * The URL of the GitHub repository * A video demonstrating the entirety of the app's functionality - - - © 2019 Trilogy Education Services, a 2U, Inc. brand. All Rights Reserved.
StevenSJones/Asynchronous-Javascript
Asynchronous-Javascript
StevenSJones/BudgetTrackerOnlineOfflineTwelfthEdition
# Unit 18 PWA Homework: Online/Offline Budget Trackers Add functionality to our existing Budget Tracker application to allow for offline access and functionality. The user will be able to add expenses and deposits to their budget with or without a connection. When entering transactions offline, they should populate the total when brought back online. Offline Functionality: * Enter deposits offline * Enter expenses offline When brought back online: * Offline entries should be added to tracker. ## User Story AS AN avid traveller I WANT to be able to track my withdrawals and deposits with or without a data/internet connection SO THAT my account balance is accurate when I am traveling ## Business Context Giving users a fast and easy way to track their money is important, but allowing them to access that information anytime is even more important. Having offline functionality is paramount to our applications success. ## Acceptance Criteria GIVEN a user is on Budget App without an internet connection WHEN the user inputs a withdrawal or deposit THEN that will be shown on the page, and added to their transaction history when their connection is back online. - - - ## Commit Early and Often * One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: 1. Your commit history is a signal to employers that you are actively working on projects and learning new skills 2. Your commit history allows you to revert your code base in the event that you need to return to a previous state * Follow these guidelines for committing: * Make single purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history * Don't commit half done work, for the sake of your collaborators (and your future self!) * Test your application before you commit to ensure functionality at every step in the development process * We would like you to have well over 200 commits by graduation, so commit early and often! * Deploy your application with [Heroku and MongoDB Atlas.](../04-Important/MongoAtlas-Deploy.md) ## Submission on BCS * You are required to submit the following: * the URL to the deployed application * the URL to the Github repository
StevenSJones/burger
# Node Express Handlebars ### Overview In this assignment, you'll create a burger logger with MySQL, Node, Express, Handlebars and a homemade ORM (yum!). Be sure to follow the MVC design pattern; use Node and MySQL to query and route data in your app, and Handlebars to generate your HTML. ### Read This When trying to connect remotely to your Heroku database on an open network such as a coffee shop, library, or even your University WiFi, it will be blocked. If you are experiencing a Heroku connection error, this could be why. ### Important * **This assignment must be deployed.** Be sure to utilize the [MYSQL Heroku Deployment Guide](../../03-Supplemental/MySQLHerokuDeploymentProcess.pdf) in order to deploy your assignment. ### Before You Begin * Eat-Da-Burger! is a restaurant app that lets users input the names of burgers they'd like to eat. * Whenever a user submits a burger's name, your app will display the burger on the left side of the page -- waiting to be devoured. * Each burger in the waiting area also has a `Devour it!` button. When the user clicks it, the burger will move to the right side of the page. * Your app will store every burger in a database, whether devoured or not. * [Check out this video of the app for a run-through of how it works](https://youtu.be/msvdn95x9OM). ### Commits Having an active and healthy commit history on GitHub is important for your future job search. It is also extremely important for making sure your work is saved in your repository. If something breaks, committing often ensures you are able to go back to a working version of your code. * Committing often is a signal to employers that you are actively working on your code and learning. * We use the mantra “commit early and often.” This means that when you write code that works, add it and commit it! * Numerous commits allow you to see how your app is progressing and give you a point to revert to if anything goes wrong. * Be clear and descriptive in your commit messaging. * When writing a commit message, avoid vague messages like "fixed." Be descriptive so that you and anyone else looking at your repository knows what happened with each commit. * We would like you to have well over 200 commits by graduation, so commit early and often! ### Submission on BCS * **This assignment must be deployed.** * Please submit both the deployed Heroku link to your homework AND the link to the Github Repository! ## Instructions #### App Setup 1. Create a GitHub repo called `burger` and clone it to your computer. 2. Make a package.json file by running `npm init` from the command line. 3. Install the Express npm package: `npm install express`. 4. Create a server.js file. 5. Install the Handlebars npm package: `npm install express-handlebars`. 6. Install MySQL npm package: `npm install mysql`. 7. Require the following npm packages inside of the server.js file: * express #### DB Setup 1. Inside your `burger` directory, create a folder named `db`. 2. In the `db` folder, create a file named `schema.sql`. Write SQL queries this file that do the following: * Create the `burgers_db`. * Switch to or use the `burgers_db`. * Create a `burgers` table with these fields: * **id**: an auto incrementing int that serves as the primary key. * **burger_name**: a string. * **devoured**: a boolean. 3. Still in the `db` folder, create a `seeds.sql` file. In this file, write insert queries to populate the `burgers` table with at least three entries. 4. Run the `schema.sql` and `seeds.sql` files into the mysql server from the command line 5. Now you're going to run these SQL files. * Make sure you're in the `db` folder of your app. * Start MySQL command line tool and login: `mysql -u root -p`. * With the `mysql>` command line tool running, enter the command `source schema.sql`. This will run your schema file and all of the queries in it -- in other words, you'll be creating your database. * Now insert the entries you defined in `seeds.sql` by running the file: `source seeds.sql`. * Close out of the MySQL command line tool: `exit`. #### Config Setup 1. Inside your `burger` directory, create a folder named `config`. 2. Create a `connection.js` file inside `config` directory. * Inside the `connection.js` file, setup the code to connect Node to MySQL. * Export the connection. 3. Create an `orm.js` file inside `config` directory. * Import (require) `connection.js` into `orm.js` * In the `orm.js` file, create the methods that will execute the necessary MySQL commands in the controllers. These are the methods you will need to use in order to retrieve and store data in your database. * `selectAll()` * `insertOne()` * `updateOne()` * Export the ORM object in `module.exports`. #### Model setup * Inside your `burger` directory, create a folder named `models`. * In `models`, make a `burger.js` file. * Inside `burger.js`, import `orm.js` into `burger.js` * Also inside `burger.js`, create the code that will call the ORM functions using burger specific input for the ORM. * Export at the end of the `burger.js` file. #### Controller setup 1. Inside your `burger` directory, create a folder named `controllers`. 2. In `controllers`, create the `burgers_controller.js` file. 3. Inside the `burgers_controller.js` file, import the following: * Express * `burger.js` 4. Create the `router` for the app, and export the `router` at the end of your file. #### View setup 1. Inside your `burger` directory, create a folder named `views`. * Create the `index.handlebars` file inside `views` directory. * Create the `layouts` directory inside `views` directory. * Create the `main.handlebars` file inside `layouts` directory. * Setup the `main.handlebars` file so it's able to be used by Handlebars. * Setup the `index.handlebars` to have the template that Handlebars can render onto. * Create a button in `index.handlebars` that will submit the user input into the database. #### Directory structure All the recommended files and directories from the steps above should look like the following structure: ``` . ├── config │ ├── connection.js │ └── orm.js │ ├── controllers │ └── burgers_controller.js │ ├── db │ ├── schema.sql │ └── seeds.sql │ ├── models │ └── burger.js │ ├── node_modules │ ├── package.json │ ├── public │ └── assets │ ├── css │ │ └── burger_style.css │ └── img │ └── burger.png │ │ ├── server.js │ └── views ├── index.handlebars └── layouts └── main.handlebars ``` ### Reminder: Submission on BCS * Please submit both the deployed Heroku link to your homework AND the link to the Github Repository! - - - ### Minimum Requirements Attempt to complete homework assignment as described in instructions. If unable to complete certain portions, please pseudocode these portions to describe what remains to be completed. Hosting on Heroku and adding a README.md are required for this homework. In addition, add this homework to your portfolio, more information can be found below. - - - ### Hosting on Heroku Now that we have a backend to our applications, we use Heroku for hosting. Please note that while **Heroku is free**, it will request credit card information if you have more than 5 applications at a time or are adding a database. Please see [Heroku’s Account Verification Information](https://devcenter.heroku.com/articles/account-verification) for more details. - - - ### Create a README.md Add a `README.md` to your repository describing the project. Here are some resources for creating your `README.md`. Here are some resources to help you along the way: * [About READMEs](https://help.github.com/articles/about-readmes/) * [Mastering Markdown](https://guides.github.com/features/mastering-markdown/) - - - ### Add To Your Portfolio After completing the homework please add the piece to your portfolio. Make sure to add a link to your updated portfolio in the comments section of your homework so the TAs can easily ensure you completed this step when they are grading the assignment. To receive an 'A' on any assignment, you must link to it from your portfolio. - - - ### One More Thing This is a really tough homework assignment, but we want you to put in your best effort to finish it. If you have any questions about this project or the material we have covered, please post them in the community channels in slack so that your fellow developers can help you! If you're still having trouble, you can come to office hours for assistance from your instructor and TAs. ### Reminder When trying to connect remotely to your Heroku database on an open network such as a coffee shop, library, or even your University WiFi, it will be blocked. If you are experiencing a Heroku connection error, this could be why. **Good Luck!**
StevenSJones/codeQuizFourthEdition
As you proceed in your career as a web developer, you will probably be asked to complete a coding assessment, which is typically a combination of multiple-choice questions and interactive challenges. Build a timed code quiz with multiple-choice questions. This app will run in the browser and feature dynamically updated HTML and CSS powered by your JavaScript code. It will also feature a clean and polished user interface and be responsive, ensuring that it adapts to multiple screen sizes.
StevenSJones/employeeDirectoryThirteenthEdition
# Unit 19 React Homework: Employee Directory ## Overview For this assignment, you'll create a employee directory with React. This assignment will require you to break up your application's UI into components, manage component state, and respond to user events. ## User Story * As a user, I want to be able to view my entire employee directory at once so that I have quick access to their information. ## Business Context An employee or manager would benefit greatly from being able to view non-sensitive data about other employees. It would be particularly helpful to be able to filter employees by name. ## Acceptance Criteria Given a table of random users, when the user loads the page, a table of employees should render. The user should be able to: * Sort the table by at least one category * Filter the users by at least one property. ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: 1. Your commit history is a signal to employers that you are actively working on projects and learning new skills 2. Your commit history allows you to revert your code base in the event that you need to return to a previous state Follow these guidelines for committing: * Make single purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history * Don't commit half done work, for the sake of your collaborators (and your future self!) * Test your application before you commit to ensure functionality at every step in the development process * We would like you to have well over 200 commits by graduation, so commit early and often! * Deploy this site to GitHub Pages using the [Create React App docs for deployment.](https://create-react-app.dev/docs/deployment/#github-pages) ## Submission on BCS You are required to submit the following: * the URL to the deployed application * the URL to the Github repository
StevenSJones/EmployeeTrackerTenthEdition
# Unit 12 MySQL Homework: Employee Tracker Developers are often tasked with creating interfaces that make it easy for non-developers to view and interact with information stored in databases. Often these interfaces are known as **C**ontent **M**anagement **S**ystems. In this homework assignment, your challenge is to architect and build a solution for managing a company's employees using node, inquirer, and MySQL. ## Instructions Design the following database schema containing three tables: ![Database Schema](Assets/schema.png) * **department**: * **id** - INT PRIMARY KEY * **name** - VARCHAR(30) to hold department name * **role**: * **id** - INT PRIMARY KEY * **title** - VARCHAR(30) to hold role title * **salary** - DECIMAL to hold role salary * **department_id** - INT to hold reference to department role belongs to * **employee**: * **id** - INT PRIMARY KEY * **first_name** - VARCHAR(30) to hold employee first name * **last_name** - VARCHAR(30) to hold employee last name * **role_id** - INT to hold reference to role employee has * **manager_id** - INT to hold reference to another employee that manager of the current employee. This field may be null if the employee has no manager Build a command-line application that at a minimum allows the user to: * Add departments, roles, employees * View departments, roles, employees * Update employee roles Bonus points if you're able to: * Update employee managers * View employees by manager * Delete departments, roles, and employees * View the total utilized budget of a department -- ie the combined salaries of all employees in that department We can frame this challenge as follows: ``` As a business owner I want to be able to view and manage the departments, roles, and employees in my company So that I can organize and plan my business ``` How do you deliver this? Here are some guidelines: * Use the [MySQL](https://www.npmjs.com/package/mysql) NPM package to connect to your MySQL database and perform queries. * Use [InquirerJs](https://www.npmjs.com/package/inquirer/v/0.2.3) NPM package to interact with the user via the command-line. * Use [console.table](https://www.npmjs.com/package/console.table) to print MySQL rows to the console. There is a built-in version of `console.table`, but the NPM package formats the data a little better for our purposes. * You may wish to have a separate file containing functions for performing specific SQL queries you'll need to use. Could a constructor function or a class be helpful for organizing these? * You will need to perform a variety of SQL JOINS to complete this assignment, and it's recommended you review the week's activities if you need a refresher on this. ![Employee Tracker](Assets/employee-tracker.gif) ### Hints * You may wish to include a `seed.sql` file to pre-populate your database. This will make development of individual features much easier. * Focus on getting the basic functionality completed before working on more advanced features. * Review the week's activities for a refresher on MySQL. * Check out [SQL Bolt](https://sqlbolt.com/) for some extra MySQL help. ## Minimum Requirements * Functional application. * GitHub repository with a unique name and a README describing the project. * The command-line application should allow users to: * Add departments, roles, employees * View departments, roles, employees * Update employee roles ## Bonus * The command-line application should allow users to: * Update employee managers * View employees by manager * Delete departments, roles, and employees * View the total utilized budget of a department -- ie the combined salaries of all employees in that department ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: * Your commit history is a signal to employers that you are actively working on projects and learning new skills. * Your commit history allows you to revert your codebase in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We would like you to have well over 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * The URL of the GitHub repository * A video demonstrating the entirety of the app's functionality - - - © 2019 Trilogy Education Services, a 2U, Inc. brand. All Rights Reserved.
StevenSJones/expressNoteTakerNinthEdition
# Unit 11 Express Homework: Note Taker ## Description Create an application that can be used to write, save, and delete notes. This application will use an express backend and save and retrieve note data from a JSON file. * The application frontend has already been created, it's your job to build the backend and connect the two. * The following HTML routes should be created: * GET `/notes` - Should return the `notes.html` file. * GET `*` - Should return the `index.html` file * The application should have a `db.json` file on the backend that will be used to store and retrieve notes using the `fs` module. * The following API routes should be created: * GET `/api/notes` - Should read the `db.json` file and return all saved notes as JSON. * POST `/api/notes` - Should receive a new note to save on the request body, add it to the `db.json` file, and then return the new note to the client. * DELETE `/api/notes/:id` - Should receive a query parameter containing the id of a note to delete. This means you'll need to find a way to give each note a unique `id` when it's saved. In order to delete a note, you'll need to read all notes from the `db.json` file, remove the note with the given `id` property, and then rewrite the notes to the `db.json` file. ## User Story AS A user, I want to be able to write and save notes I WANT to be able to delete notes I've written before SO THAT I can organize my thoughts and keep track of tasks I need to complete ## Business Context For users that need to keep track of a lot of information, it's easy to forget or be unable to recall something important. Being able to take persistent notes allows users to have written information available when needed. ## Acceptance Criteria Application should allow users to create and save notes. Application should allow users to view previously saved notes. Application should allow users to delete previously saved notes. ## Deploying the App You will not be able to deploy your server side code on GitHub pages. This app should be deployed on Heroku. Carefully follow the [Heroku Guide](../04-Supplemental/HerokuGuide.md) for getting your app deployed on Heroku. - - - ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: * Your commit history is a signal to employers that you are actively working on projects and learning new skills. * Your commit history allows you to revert your codebase in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We would like you to have well over 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * The URL of the deployed application. This should be the link to the url provided by Heroku. Be sure not to submit a link to the Heroku dashboard. * The URL of the GitHub repository - - - © 2019 Trilogy Education Services, a 2U, Inc. brand. All Rights Reserved.
StevenSJones/GameTracker
This app will allow both casual and enthusiast gamers to track games that they want to play, games that they are currently playing, and games that they have completed.
StevenSJones/HTML-Practice-1
HTML-Practice
StevenSJones/js_crash_course
js_crash_course
StevenSJones/my-react-portfolio
portfolio
StevenSJones/Node.js-Crash-Course
Node.js-Crash-Course
StevenSJones/p1_location_info
StevenSJones/p3_cocktail_lounge
Project 3 for UofA Full Stack bootcamp
StevenSJones/passwordGeneratorThirdEdition
Create an application that generates a random password based on user-selected criteria. This app will run in the browser and feature dynamically updated HTML and CSS powered by your JavaScript code. It will also feature a clean and polished user interface and be responsive, ensuring that it adapts to multiple screen sizes.
StevenSJones/passwordGenHW
Create an application that generates a random password based on user-selected criteria. This app will run in the browser and feature dynamically updated HTML and CSS powered by your JavaScript code. It will also feature a clean and polished user interface and be responsive, ensuring that it adapts to multiple screen sizes.
StevenSJones/portHW
This was the second homework assignment
StevenSJones/README-Gen
This is a README generator that dynamically creates a readme based on user input.
StevenSJones/readMeGenSeventhEdition
# Unit 09 Node.js and ES6+ Homework: Good README Generator When creating an open source project on GitHub, it is important to have a quality README with information about the app--what is the app for, how to use the app, how to install it, how to report issues, and how to make contributions so that other developers are more likely to use and contribute to the success of the project. A command-line application will allow for quick and easy generation of a project README to get started quickly. This will allow a project creator to spend more time working on finishing the project and less time creating a good README. Your task is to create a command-line application that dynamically generates a professional README.md from a user's input using the [Inquirer package](https://www.npmjs.com/package/inquirer). Review the [Good README guide](../../01-HTML-Git-CSS/04-Supplemental/Good-README-Guide/README.md) as a reminder of everything that a quality, professional README contains. The application will be invoked with the following command: ``` node index.js ``` Because this is a command-line application that won’t be deployed, you’ll also need to provide a link to a walkthrough video that demonstrates the functionality of your application. Revisit the Screencastify Tutorial in the prework as a refresher on how to record video from your computer. ## User Story ``` AS A developer I WANT a README generator SO THAT can quickly create a professional README for a new project ``` ## Acceptance Criteria ```md GIVEN a command-line application that accepts user input WHEN I am prompted for information about my application repository THEN a quality, professional README.md is generated with the title of your project and sections entitled Description, Table of Contents, Installation, Usage, License, Contributing, Tests, and Questions WHEN I enter my project title THEN this is displayed as the title of the README WHEN I enter a description, installation instructions, usage information, contribution guidelines, and test instructions THEN this information is added to the sections of the README entitled Description, Installation, Usage, Contributing, and Tests WHEN I choose a license for my application from a list of options THEN a badge for that license is added hear the top of the README and a notice is added to the section of the README entitled License that explains which license the application is covered under WHEN I enter my GitHub username THEN this is added to the section of the README entitled Questions, with a link to my GitHub profile WHEN I enter my email address THEN this is added to the section of the README entitled Questions, with instructions on how to reach me with additional questions WHEN I click on the links in the Table of Contents THEN I am taken to the corresponding section of the README ``` ## Minimum Application Requirements * Meets [Submission Requirements](#submission-requirements) in the following section. * Functional application. * GitHub repository with a unique name and a README describing project. * The generated README includes the following sections: * Title * Description * Table of Contents * Installation * Usage * License * Contributing * Tests * Questions * The generated README includes 1 badge that's specific to the repository. ## Submission Requirements Because this is a CLI App, there will be no need to deploy it to Heroku. This time, though, you need to include a video showing us that you got the app working with no bugs. You should include a link to the video in your application's `README.md` file. * Create a `.gitignore` file and include `node_modules/` and `.DS_Store/`. * `node_modules` is not tracked and uploaded to GitHub. (Hint: It is easy if you create your `.gitignore` file before installing dependencies with npm.) * Repo **MUST** include `package.json` with required dependencies. (Hint: Run `npm init` when you first setup the project before installing any dependencies.) * Include a video of the typical user flow through your application. This includes views of the prompts and the responses after their selection. * Include any other screenshots you deem necessary to help someone who has never been introduced to your application understand the purpose and function of it. This is how you will communicate to potential employers/other developers in the future what you built and why, and to show how it works. * Because screenshots (and well-written READMEs) are extremely important in the context of GitHub, this will be part of the grading. ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for two reasons: * Your commit history is a signal to employers that you are actively working on projects and learning new skills. * Your commit history allows you to revert your code base in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We would like you to have more than 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * A walkthrough video demonstrating the functionality of the application. * A sample README.md file for a project repository generated using your application. * The URL of the GitHub repository. Give the repository a unique name and include a README describing the project.
StevenSJones/stacks-api
StevenSJones/StevensPortfolio
StevensPortfolio - updated portfolio for U of AZ
StevenSJones/weatherDashboardSixthEdition
weatherDashboardSixthEdition
StevenSJones/WorkDayCalenderFifthEdition
Create a simple calendar application that allows the user to save events for each hour of the day. This app will run in the browser and feature dynamically updated HTML and CSS powered by jQuery. You'll need to use the [Moment.js](https://momentjs.com/) library to work with date and time. Be sure to read the documentation carefully and concentrate on using Moment.js in the browser.
StevenSJones/workoutTrackerEleventhEdition
# Unit 17 Nosql Homework: Workout Tracker For this assignment, you'll create a workout tracker. You have already been provided with the front end code in the `Develop` folder. This assignment will require you to create Mongo database with a Mongoose schema and handle routes with Express. ## User Story * As a user, I want to be able to view create and track daily workouts. I want to be able to log multiple exercises in a workout on a given day. I should also be able to track the name, type, weight, sets, reps, and duration of exercise. If the exercise is a cardio exercise, I should be able to track my distance traveled. ## Business Context A consumer will reach their fitness goals more quickly when they track their workout progress. ## Acceptance Criteria When the user loads the page, they should be given the option to create a new workout or continue with their last workout. The user should be able to: * Add exercises to a previous workout plan. * Add new exercises to a new workout plan. * View the combined weight of multiple exercises on the `stats` page. To deploy an application with a MongoDB database to Heroku, you'll need to set up a MongoDB Atlas account and connect a database from there to your application. Be sure to use the following guides for support: * [Set Up MongoDB Atlas](../04-Supplemental/MongoAtlas-Setup.md) * [Deploy with Heroku and MongoDB Atlas](../04-Supplemental/MongoAtlas-Deploy.md) ## Commit Early and Often One of the most important skills to master as a web developer is version control. Building the habit of committing via Git is important for the following two reasons: 1. Your commit history is a signal to employers that you are actively working on projects and learning new skills. 2. Your commit history allows you to revert your codebase in the event that you need to return to a previous state. Follow these guidelines for committing: * Make single-purpose commits for related changes to ensure a clean, manageable history. If you are fixing two issues, make two commits. * Write descriptive, meaningful commit messages so that you and anyone else looking at your repository can easily understand its history. * Don't commit half-done work, for the sake of your collaborators (and your future self!). * Test your application before you commit to ensure functionality at every step in the development process. We want you to have well over 200 commits by graduation, so commit early and often! ## Submission on BCS You are required to submit the following: * The URL to the deployed application * The URL to the GitHub repository
StevenSJones/layout-practice
layout-practice
StevenSJones/my-app-two
StevenSJones/problemSolving-Repo
Repo for running test questions and testing them to see if they are accurate
StevenSJones/ss-jones-portfolio
ss-jones-portfolio
StevenSJones/steven-Kingston-Jones
A fan page for (Slick) Steven Kingston Jones