Skip to content

docs: adds additional clarifications for oop project #511

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lesson_10/libraries/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"scripts": {
"start": "node build/lesson10.js",
"dev": "tsc-watch --noClear -p ./tsconfig.build.json --onSuccess \"node ./build/lesson10.js\"",
"test": "node --experimental-vm-modules node_modules/.bin/jest",
"test": "node --experimental-vm-modules node_modules/.bin/jest --coverage",
"compile": "tsc -p tsconfig.build.json",
"prepare": "npm run compile",
"pretest": "npm run compile",
Expand Down Expand Up @@ -42,4 +42,4 @@
"csv-parser": "^3.0.0",
"uuid": "^10.0.0"
}
}
}
22 changes: 13 additions & 9 deletions project_oop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,26 @@

For this project, you and your teammates are tasked with modeling a real-world problem using object-oriented and SOLID design principles, from ideation to implementation.

## Prerequisites

Before starting work on your project, you will need to submit three user stories as feature requests in your assigned GitHub repo. These will need to be approved by the instructor before you can begin coding. Your final project submission must enable the functionality described by your user stories.

## Project Requirements

* All work must be submitted in your team's assigned GitHub repository.
* The assignment can be completed in TypeScript or in Java.
* Must include at least 5 types of objects that relate to each other.
* One of your objects must be a custom data structure that provides for adding, removing, and updating items in a collection
* Must include at least 5 types of objects with meaningful relattionships to each other.
* One of your objects must be a custom data structure that provides for adding, removing, and updating items in a collection.
* Implement at least two custom exceptions.
* Write unit tests achieving 90% code coverage
* Must include an integration test
* Your solution must illustrate each of the SOLID principles
* Each team member must contribute at least one commit containing code and tests.
* Include a README for your repo including a description of the problem you're solving, the solution, and how you would improve your solution.
* Write unit tests achieving 90% code coverage (using JaCoCo for Java or Jest for Typescript).
* Must include an integration test.
* Your solution must illustrate each of the SOLID principles.
* Each team member must contribute *at least one* submitted pull request containing working code and tests.
* Include a README for your repo describing the problem you're solving, the solution, and how you would improve your solution.

# Presentation Requirements

* Your total time will be limited to 10 minutes and up to 10 slides.
* Your presentation should be no more than 10 minutes with a maximum of 10 slides.
* Each member of the team must speak during the presentation.
* Your presentation must address the following questions:
* What problem were you attempting to solve?
Expand All @@ -30,7 +34,7 @@ For this project, you and your teammates are tasked with modeling a real-world p

## Extra Credit

Design a CLI that allows users to interact with your application. Check out the code in [lesson_10](/lesson_10/libraries/src/cli/) for an example.
Design a CLI that allows users to interact with your application. Check out the code in [lesson_10](/lesson_10/libraries/src/cli/) for an example in TypeScript, or [this file](/lib/java/codedifferently-instructional/instructional-lib/src/main/java/com/codedifferently/instructional/quiz/QuizProctor.java) for an example in Java.

## Timeline

Expand Down