diff --git a/Assignments/project-deliverable.md b/Assignments/project-deliverable.md new file mode 100644 index 0000000..32cd56d --- /dev/null +++ b/Assignments/project-deliverable.md @@ -0,0 +1,50 @@ +--- +layout: page +title: Project Final Deliverable +permalink: /assignments/project-deliverable +parent: Assignments +nav_order: 6 +--- +# Project: Final Deliverable **Due Wednesday 4/10/2024 11am ET**{: .label .label-red } +The final project deliverable is the implementation, available in github and deployed on Heroku and render.com, and the documentation turned in to Canvas. It also includes poster and/or demos. + +## Project Implementation and Documentation +Your final team deliverable will be a "release" of your new feature on GitHub (with tests), and will be accompanied by a demo. You will submit the link of your hosted app on Canvas. + +### Contents + +Your final team deliverable will include: +* The implementation of your new feature, deployed to Netlify + Heroku / Render.com +* Automated tests for your new feature +* A report that describes how to use your new feature and what was completed vs proposed +* A poster and/or demo + +Accompanying the final team deliverable will be an *individual reflection*, which every student must submit on their own which will include your reflections on the evolution of your project concept, on the software engineering processes you used, and on your team's dynamics and collaboration. + + +### Submission Instructions + +#### Code, documentation and Link + All apps will be deployed on Heroku / Render (instructions for CI/CD pipeline setup are provided separately). After you have pushed all of your code (and documentation) to your team's GitHub repository, create [a release](https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/managing-releases-in-a-repository) on GitHub, and apply the tag version `final-submission`. After your release is created, you'll find that there is now a `.zip` that can be downloaded from GitHub that contains a snapshot of your entire repository. Download this zip file, unpack it, and follow the instructions that you provided in your README to double-check that the course staff will be able to run your project (this step is handy to make sure that you didn't forget to include some key files in git). If needed, you can delete the release, make some changes, and re-release up until the deadline. **Submit this zip file to Canvas** under the assignment "Project: Code Submission" along with the link of your hosted app (in comments or a text file). Submit your report separately to Canvas, under the assignment "Project: Report". + +#### Project Poster & Demo +Each team will submit a poster. Your poster will be a single-page document, that will include the following aspects: + +* Short description of the project (OK to reuse text from the project plan/report) +* Link to public demo site, link to source repo (OK to make the repo public now, or OK to leave as private) +* Short description of the technology stack and overall design decisions +* Short description of future work that could build on your project - additional features that you think could be interesting, or ideas for refactoring the code. +* Screenshots of the feature, visually demonstrating the main functionality that you implemented. + +We've created a [sample poster for the "Conversation Areas" feature]({{ site.baseurl }}{% link Examples/conversation-areas-poster.pdf %}), which you might find useful in deciding how to format your poster. It's fine to use a different aspect ratio (e.g. portrait instead of landscape), and there are no specific requirements for font size or amount of text. Please try to create a document that you feel represents your project, imagine your target audience as a recruiter for a software engineering role: your goal is to demonstrate that you have some experience working on some non-trivial software engineering project. + +In addition, some sections will have live (in-person) demos and others may ask you to record a demo video. Details for project demos and/or presentations will be provided during class by each instructor (and may vary from section to section). **Posters and/or demo videos and/or presentations will be submitted on Canvas**, under the assignment "Project: Poster / Demo". + +#### Project Showcase +We will create a project showcase page for this semester (similar to the one from [Fall 2023](https://neu-se.github.io/CS4530-Fall-2023/assignments/project-showcase) semester). Please indicate your preference (whether you want your project to be posted there or not) by completing a survey (a link can be found in Canvas assignment "Project: Permission for Showcase Page"). We often direct recruiters to that page. + +#### Individual Reflection +Create a PDF of your reflection, and submit it to Canvas, under the assignment "Project: Individual Reflection". + +## Grading +Details on grading may be found at [Project Grading]({{ site.baseurl }}{% link Assignments/project-grading.md %}) diff --git a/Assignments/project-grading.md b/Assignments/project-grading.md index 8d558b1..6c2e746 100644 --- a/Assignments/project-grading.md +++ b/Assignments/project-grading.md @@ -117,11 +117,13 @@ The allocation of the 10% credit will be as follows: Overview and manual will be * Technical Overview contains a description of any substantive changes to the existing Covey.Town codebase, and of the architecture of your new code. * When appropriate, it uses diagrams and/or figures to illustrate a design (there is no requirement to use a specific tool or format for this - students often use lucidchart, draw.io, [mermaid](https://mermaid.live) or even hand-drawn diagrams). * It provides a well-reasoned rationale for why this is the "right" design. -* The document is at most 2 pages (fewer pages are absolutely acceptable, consider this a rough limit) +* It provides a table showing the status of all proposed user stories and conditions of satisfaction (proposed vs completed). The status could be fully implemented, partially implementted (feel free to add percentages), not completed. +* The document is at most 2 pages (fewer pages are absolutely acceptable, consider this a rough limit) excluding the table. #### Meets minimum requirements: * Technical Overview includes a description of all major changes to the code compared to our existing Covey.Town codebase. -* The document is at most 2 pages (fewer pages are absolutely acceptable, consider this a rough limit) +* It provides a table showing the status of all proposed user stories and conditions of satisfaction (proposed vs completed). The status could be fully implemented, partially implementted (feel free to add percentages), not completed. +* The document is at most 2 pages (fewer pages are absolutely acceptable, consider this a rough limit) excluding the table. ### * Process Overview #### Satisfactory: diff --git a/Assignments/project-overview.md b/Assignments/project-overview.md index c1f7cb8..61b6e5c 100644 --- a/Assignments/project-overview.md +++ b/Assignments/project-overview.md @@ -23,7 +23,7 @@ All implementation will take place in the TypeScript programming language, using | 02/05/2024| Project Kick-off Meeting | Schedule a meeting with your Mentor TA during this week | | 02/14/2024 | [Preliminary Project Plan]({{ site.baseurl }}{% link Assignments/project-plan.md %}) | Propose a new feature for Covey.Town that can be planned and implemented within 7 weeks | | 02/28/2024 | [Revised Project Plan]({{ site.baseurl }}{% link Assignments/revised-project-plan.md %}) | Refine the scope of your feature based on staff feedback, define detailed requirements and project acceptance criteria. | -| 04/10/2024 | Project Delivery - Implementation and Documentation | Deliver your new feature, including design documentation and tests | +| 04/10/2024 | [Project Delivery - Implementation and Documentation]({{ site.baseurl }}{% link Assignments/project-deliverable.md %}) | Deliver your new feature, including design documentation and tests | ### Summary of Project Grading Your overall project grade (which will account for 40% of your final grade in this course) will be the weighted average of each of the deliverables.