Skip to content

joinpursuit/8-3-full-stack-portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Full-stack Portfolio Project

This project is designed to test all of the skills you've learned so far. By the end of this project, you should have a portfolio-ready project you can share on your resume as well as with potential employers.

This project will:

  • Have a deployed back-end application.
  • Have a deployed front-end application.
  • Have a database with one or more tables.
  • Have a theme and unique product design.

Success criteria

37 points can be received as part of this project. A minimum of 26 points must be attained to pass this project. These points are spread across specific features and requirements as well as a rubric. A list of each feature and the rubric is included below.

In addition to attaining at least 26 points, you must also complete one or more features or tasks decided on by you and your instructor(s). These additional features and tasks are explained in more detail below.

Specific requirements

22 specific requirements should be completed as part of this project. Each of the requirements below scores 1 point.

Overall requirements

  1. Create a GitHub repository and upload your code to it. The file structure of your project should match what you learned in class.
  2. Your GitHub repository should have a readme.md file with installation instructions for your application as well as links to your planning resources (trello, ERDs, wireframes) and links for your deployed frontend and backend.
  3. Your project should have a coherent theme and narrative.
  4. Your front-end and back-end applications should be deployed to the web and function as they would on a local machine.

Back-end application requirements

  1. You must have at least one table as part of your project. The table must have at least 5 fields. There must be at least three different data types among those fields.
  2. You must handle errors, both 404 and otherwise, as part of your back-end application.
  3. You must make at least one Git commit each day of the project that you have class. For classes that are scheduled for a full day, you must make at least two commits.
  4. You must make a "read" route that returns all data from a resource as part of your back-end application.
  5. You must make a "read" route that returns a single resource as part of your back-end application.
  6. You must make a "create" route that creates a new resource as part of your back-end application.
  7. You must make an "update" route that updates a single resource as part of your back-end application.
  8. You must make a "destroy" route that destroys a single resource as part of your back-end application.
  9. All of your back-end routes must follow a RESTful pattern, as you learned in your class.

Front-end application requirements

  1. You must make an "index" page that shows all data from a resource as part of your front-end application.
  2. You must make a "show" page that shows a single resource as part of your front-end application.
  3. You must make a "new" page that allows a user to create a new resource through a form as part of your front-end application.
  4. You must make an "update" page that allows a user to update an existing resource as part of your front-end application.
  5. You must make a way for a user to "destroy" a single resource as part of your front-end application.
  6. All of your front-end routes must follow a RESTful pattern, as you learned in your class.

Interview requirements

  1. In a meeting with an instructor or volunteer, you should be able to describe the application's theme and purpose and relate your application to your interests or personal narrative.
  2. In a meeting with an instructor or volunteer, you should be able to demonstrate a front-end feature and describe the code in technical terms.
  3. In a meeting with an instructor or volunteer, you should be able to demonstrate a back-end feature and describe the code in technical terms.

Project rubric

In addition to the specific requirements, you should aim to score Proficient on all of the criteria listed below. Each rating on the scale, from Developing to Exemplary, is worth 1 point.

Code quality

Rating Points Description
Novice 0 Code infrequently or rarely uses well-named variables, is appropriately indented, or follows best-practices. Code is generally very messy and difficult to understand.
Developing 1 Code uses well-named variables, is appropriately indented, and follows best-practices in some but not all files. Some code may be duplicated across routes or on the front-end. The code is of an acceptable quality for a new developer.
Proficient 2 Code uses well-named variables, is appropriately indented, and follows best-practices in all files. Some code may be duplicated across routes or on the front-end. The code is of good quality for a new developer.
Exemplary 3 Code uses well-named variables, is appropriately indented, and follows best-practices in all files. Code does not repeat itself. The code quality is representative of a skilled coder.

Application design

Rating Points Description
Novice 0 The web application does not look professional or lacks any clear CSS application.
Developing 1 The web application looks professional, although some pages or parts of pages lack any clear style.
Proficient 2 The web application looks professional. The application uses color and effects sensibly.
Exemplary 3 The web application looks professional. The application uses color and effects sensibly. The design or layout goes above and beyond in some unique way.

User experience and interface

Rating Points Description
Novice 0 The application is difficult to navigate. It is not possible to perform all CRUD actions for a single resource from the website, even with assistance.
Developing 1 Parts of the application are easy to navigate, but others require some visual searching or some specialized knowledge. It is possible to perform all CRUD actions for a single resource from just looking at the website.
Proficient 2 The web application is easy to navigate. It's clear how to perform all CRUD actions for a single resource from just looking at the website.
Exemplary 3 The web application is easy to navigate. It's clear how to perform all CRUD actions for a single resource from just looking at the website. The overall feel of the application goes above and beyond.

Application presentation

Rating Points Description
Novice 0 The Fellow is unable to describe why they wanted to create their project. They come across as nervous or uncertain of how to best demo their application.
Developing 1 The Fellow describes their project and relates it to themselves, showcasing their interests or passion. They come across as nervous or uncertain of how to best demo their application.
Proficient 2 The Fellow describes their project and relates it to themselves, showcasing their interests or passion. They speak calmly and professionally throughout their demo, maintaining a confident tone.
Exemplary 3 The Fellow describes their project and relates it to themselves, showcasing their interests or passion. They speak calmly and professionally throughout their demo, maintaining a confident tone. Their presentation skills are exceptional.

Technical innovation

Rating Points Description
Novice 0 The student has only incorporated technologies used in class and has not added any features outside of what was demonstrated to them.
Developing 1 The student has one new technology into their application or has built a feature not previously seen in the classroom.
Proficient 2 The student has incorporated multiple new technologies into their application or has built a number of features not previously seen in the classroom.
Exemplary 3 The student has incorporated multiple new technologies into their application and has built a number of features not previously seen in the classroom.

Additional features or tasks

Each Fellow must also define one or more additional features or tasks they would like to add to their application. These features or tasks must be approved by an instructor and should make a meaningful improvement to your application. Below is a list of example features that could apply to any application. You may choose from the list below or come up with features or tasks that are more relevant to your specific application.

Note: These features do count for the rubric category "technical innovation", detailed above.

  • Display errors to your user when they incorrectly fill out a form attempting to create or update a resource.
  • Add a one-to-many table relationship to your database.
  • Create middleware as part of your back-end application that validates for particular values when a resource is being created or updated.
  • Use query parameters to filter your resource by different fields or qualities.
  • When viewing all resources, break up your resources visually onto multiple pages.
  • Visually allow for interacting with a second resource from the front-end.
  • Allow for a list of "favorite" resources that are stored locally through localStorage.
  • Make your application responsive to different kinds of devices.

Getting started

Do not fork this repository. Instead, create your repository on GitHub and submit the URL directly to Canvas.

Then, follow the specifications above to create your application. Work with your instructors to approve your features before you begin working on them.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages