CSCC09 Winter 2023

Project

Demonstrate your learning outcomes through creating a web application.

The project gives you the opportunity to demonstrate that you have mastered full stack development concepts learnt from this course. As a team of 2-3, you will create a publicly available web application.

Required Elements

  1. Frontend: Use a reactive frontend framework such as Angular, React, or Vue.
  2. Backend: Your API must be RESTful where appropriate.
  3. Deployment: Be deployed on a Cloud VM such as a DigitalOcean droplet, AWS Lightsail VM, etc. Do not deploy on Kubernetes, or non VMs like Heroku.
  4. Accessible by the general public: A person does not need to talk to your team to access the full application.

Challenge Factor

The project must complete enough complexity points.

  • For 2 people, you must complete at least 7 complexity points.
  • For 3 people, you must complete at least 9 complexity points.

If you would like an API considered, please reach out to #winter-2023 and we will give it a number from 1 to 3. For each API used, we will have a fixed marking scheme on how well course concepts were applied to it. Therefore, if you choose too many, you essentially will be graded more "harshly" than if you attempted less.

If your team completes less than required complexity points, then your challenge factor will be less than 1.

Your team may optionally decide to do more complexity points, in which case, a bonus may be given based on the depth of integration with the technology, up to x1.2. Please state in the README.md which complexity points are attempted as bonus as they will be evaluated separately.

For example, a challenging project with a challenge factor of 1.2 and a score of 78/100 will receive a final mark of 93/100.

Syllabus

The project comes in 6 parts. All team members must put their best effort to contribute to the project. The instructor reserves the right to assign different grades to each of the team members based on their individual contributions on Github.

DeliverableWeight
Proposal5%
Alpha Version5%
Beta Version10%
Final Version75%
Video Demo5%
Final Lecture Presentationup to 5% bonus

Proposal (5%) - Github and Gradescope

You must register your team on Github by the deadline. After registration, each team will be assigned a new private Github repository for the project. By the project proposal deadline, the team should have pushed the proposal to their project repository and submit the repository to Gradescope. The proposal will take the form of a README.md file at the root of your project repository on Github. This file should be properly formatted in markdown.

The proposal should contain the following information:

  • Project title and team name
  • Your focus (frontend focused or backend focused)
  • Team members with student numbers
  • Description of the web application
  • What complexity points will this project contain
  • (optional) What complexity points will be attempted as bonus for the challenge factor
  • What you aim to complete for the alpha version, beta version, and final version

Alpha Version (5%) - Github

You must schedule a 15-minute meeting with a TA before the deadline. To receive full credit, demonstrate to the TA you have sufficient progress towards a final product. This meeting is also an opportunity to raise any concerns about the team.

At this point, all your code should be pushed to main branch on Github.

Beta Version (10%) - Github

You must schedule a 15-minute meeting with an assigned industry expert. During the meeting, you will demonstrate a majority of features completed. You will be graded from 1-10 on how good this project is if it was considered in a hiring decision. (1 - will not hire, 10 - definitely hire)

At this point, all your code should be pushed to main branch on Github.

Final Version (75%) - Github and Gradescope

You must push everything to main branch on Github, and also submit the code through Gradescope.

You must add the application's deployed URL to README.md.

Your application must remain available throughout the marking period, which is 2 weeks after the final version deadline. If the application is not deployed, you will not receive credit for the final version.

Video Demo (5%) - Github and Gradescope

Record a 3-minute-long video demonstrating the core features of your web application. You should record the video as if it was part of a hiring process.

Do not show slides, do not show code. Do not spend too long on unimportant features such as login/signup.

Upload your video to Youtube and include it in README.md. The presentation is going to determine who gets to present at the final lecture.

Final Lecture Presentation

The top projects of this course will be selected to present in the final lecture to showcase to the entire class. Industry experts will be invited as judges to select the top 3 projects, which will get a bonus attached to their project.

Academic Integrity

The course policy on academic integrity applies to this project. This means that all code developed for this project must be written exclusively by the members of the team. Any use of UI elements and snippets of code found on the web must be clearly cited in the credit page of the application.

You have the freedom to build whatever they want as a project, however the following restrictions strictly apply:

  • You must not use your code that was developed from outside this course.
  • You must not use your code that was developed for a paid or unpaid job.
  • You must not use your code that was developed for another course, such as CSCC01.

Each team member is responsible and will be held accountable for the work he or she submits to the Github repository.

© 2022 Cho Yin Yong. Made with Gatsby