At the conclusion of each phase of this course, you’ll work with a group of your fellow students to create a project. A project is collaborative work among a group of developers to create an application that solves a real-world problem. Projects model the experience you’ll encounter in every development role at any company, from large multinational businesses to small startups. Coding is collaborative.
A project is a bit different from the Challenge assignments you’ve worked on so far. One of the biggest differences is that you’ll no longer build an application by yourself! This has some advantages—you won’t have to do all of the work, you can divide up duties, and you can share skills and knowledge with other developers and lean on their strengths. This can also be challenging if you’re used to working alone. Constant communication and time management are just two of the skills you’ll need to practice to make sure everyone in your group works together to complete the project.
Projects won’t provide you with a user story or acceptance criteria, because you and your group will create them once you decide which real-world problem your application will solve. This lack of constraints can be freeing in a way, because you have room to build what you want, but it also means that you have to decide what those constraints are before you can start working.
Finally, a project requires a presentation, because you’re trying to convince an audience that it serves a purpose. Your instructional staff and fellow students are investors, and you’re pitching your creation to them—an experience that developers are required to do frequently. Your presentation is just as important as the actual project, so take it just as seriously.
You and your group will use everything you’ve learned over the past six modules to create a real-world front-end application that you’ll be able to showcase to potential employers. The user story and acceptance criteria will depend on the project that you create, but your project must fulfil the following requirements:
-
Use a CSS framework(Bootstrap or others).
-
Be deployed to GitHub Pages.
-
Be interactive (i.e., accept and respond to user input).
-
Use at least one server-side APIs.
-
Does not use alerts, confirms, or prompts (use modals).
-
Use client-side storage to store persistent data IF APPLICABLE.
-
Be responsive.
-
Have a polished UI.
-
Have a clean repository that meets quality coding standards (file structure, naming conventions, follows best practices for class/id naming conventions, indentation, quality comments, etc.).
-
Have a quality README (with unique name, description, technologies used, screenshot, and link to deployed application).
Use this project presentation template to address the following:
-
Elevator pitch: a one minute description of your application
-
Concept: What is your user story? What was your motivation for development?
-
Process: What were the technologies used? How were tasks and roles broken down and assigned? What challenges did you encounter? What were your successes?
-
Demo: Show your stuff!
-
Directions for Future Development
-
Links to the deployed application and the GitHub repository
This project is graded based on the following criteria:
-
Satisfies the following code requirements:
-
Application uses at least two server-side APIs
-
Application uses client-side storage to store persistent data.
-
Application doesn't use JS alerts, prompts, or confirms (uses modals instead).
-
Application uses a CSS framework other than Bootstrap.
-
Application is interactive (accepts and responds to user input)
-
-
Application should be a unique and novel idea.
-
Your group should clearly and concisely articulate your project idea.
-
Application deployed at live URL and loads with no errors.
-
Application GitHub URL submitted.
-
Repository has a unique name.
-
Repository follows best practices for file structure and naming conventions.
-
Repository follows best practices for class/id naming conventions, indentation, quality comments, etc.
-
Repository contains multiple descriptive commit messages.
-
Repository contains a quality README file with description, screenshot, and link to deployed application.
-
Application user experience is intuitive and easy to navigate.
-
Application user interface style is clean and polished.
-
Application is responsive.
-
Your group should present using a slide deck.
-
Every group member should speak during the presentation.
-
Your presentation should follow the Project Presentation Template.
- There are no major disparities in the number of GitHub contributions between group members.
Each member of your group is required to submit the following for review:
-
The URL of the deployed application.
-
The URL of the GitHub repository, with a unique name and a README describing the project.
© 2022 Trilogy Education Services, LLC, a 2U, Inc. brand. Confidential and Proprietary. All Rights Reserved.