forked from nus-cs2113-AY2324S2/tp
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add class DIYProblemSet and ProblemSetType, modify Storage, Record, U…
…i and Test to show the ProblemSetType, add PPP draft and modify the UG and DG.
- Loading branch information
Showing
11 changed files
with
208 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Yuhao ZHANG | ||
|
||
## Overview of `MathGenius` | ||
**`MathGenius`** is a user-friendly application that provides a platform to enhance your equation-solving abilities. Whether you're a student learning calculation, a math enthusiast looking to sharpen your skills, or a teacher preparing for exams/lessons, this application is here to support you. | ||
|
||
## Summary of Contribution | ||
[**link to the code**](https://nus-cs2113-ay2324s2.github.io/tp-dashboard/?search=celineyaa&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-02-23&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other) | ||
In the project `MathGenius`, I am in conduct of implement the `DIYProblemSet` part and test cases part. For the `DIYProblemSet` which is to add user-DIY problem sets into our problem sets database. And for the testcases part, they are used to test the functionality of classes. | ||
In the `UserGuide`,I am in conduct of writing the corresponding parts of the guidance. | ||
In the `Development Guide`, I am in conduct of writing the `testcases` part, `DIYProblemSet`part and `Instructions for manual testing`part. | ||
Of the team base tasks, I attend weekly meeting most of the time and do the allocated tasks as soon as possible. | ||
I also help to check the correctness of others part and provide advices on the improvements. | ||
|
||
## Project management: | ||
Managed release `v1.0` on GitHub | ||
|
||
## Challenges: | ||
During the refinement process, I faced a few challenges, including: | ||
- Dealing with unexpected errors and exceptions: Throughout the refinement process, unexpected errors and exceptions were encountered. These issues required thorough debugging and error handling to identify the root causes and implement appropriate solutions to prevent or handle such errors gracefully. | ||
- Optimizing performance and scalability: Another challenge was optimizing the software's performance and ensuring scalability to handle increasing user loads. This involved identifying and resolving bottlenecks, implementing efficient algorithms, and conducting performance testing to ensure the system could handle large-scale usage. | ||
- Collaborating with team members and managing project coordination: If the project involved a team, effective collaboration and project coordination were essential challenges. This included communicating and coordinating tasks with team members, resolving conflicts or differences in opinions, and ensuring everyone was aligned with the project goals and timeline. | ||
|
||
## Community: | ||
- Contributions to test code and text-ui-test for Gradle. | ||
- Promoting coding style consistency. | ||
- Sharing knowledge and expertise. | ||
|
||
## Next Steps: | ||
- Organize usability testing sessions with users to gather feedback on the existing documentation. This will help identify any areas that might be confusing or require further clarification. Incorporate the feedback received into the documentation refinement process. | ||
- Analyze common user issues and questions that have been raised during the project's development and deployment. Use this information to expand the troubleshooting section of the User Guide, providing step-by-step solutions to common problems. Additionally, create a comprehensive FAQs section to address frequently asked questions and provide quick answers to users. | ||
- Enhance the documentation by including relevant diagrams, flowcharts, and visuals where appropriate. These visual aids can help users and developers better understand complex concepts, system architecture, and workflows. | ||
|
||
## Tools: | ||
- IntelliJ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package seedu.duke; | ||
|
||
import java.time.LocalDateTime; | ||
import java.util.ArrayList; | ||
import java.util.Scanner; | ||
|
||
public class DIYProblemSet { | ||
ArrayList<Problem> problemSet; | ||
public DIYProblemSet() { | ||
problemSet = new ArrayList<>(); | ||
} | ||
public void addDIYProblemSet(Ui ui) { | ||
Scanner scanner = new Scanner(System.in); | ||
ui.print("Please input your DIY problemSet: "); | ||
String description; | ||
String correctAnswer; | ||
double answer = 0.0; | ||
String quit = ""; | ||
while (!quit.equals("y")) { | ||
ui.print("input the description of the problem (e.g. 1+2*3): "); | ||
description = scanner.nextLine(); | ||
ui.print("input the correct answer of the problem (e.g. 7): "); | ||
correctAnswer = scanner.nextLine(); | ||
try { | ||
answer = Double.parseDouble(correctAnswer); | ||
} catch (NumberFormatException e) { | ||
ui.print("Invalid answer! Please input a number."); | ||
} | ||
Problem problem = new Problem(description,answer); | ||
problemSet.add(problem); | ||
ui.print("Do you finish adding problems? y/n: "); | ||
quit = scanner.nextLine(); | ||
while (!quit.equals("y") && !quit.equals("n")) { | ||
ui.print("input is invalid! Please input 'y' or 'n': "); | ||
quit = scanner.nextLine(); | ||
} | ||
} | ||
Record record = new Record(LocalDateTime.now(),0.0, 0.0,problemSet,ProblemSetType.USER_DIY.getValue()); | ||
Storage.addRecord(record); | ||
ui.print("\nSuccessfully save the DIY problem set!"); | ||
record.print(true); | ||
ui.print("\n"); | ||
} | ||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package seedu.duke; | ||
|
||
public enum ProblemSetType { | ||
USER_DIY("user-DIY"), | ||
AUTO_GENERATED("auto-generated"); | ||
|
||
private String value; | ||
|
||
private ProblemSetType(String value) { | ||
this.value = value; | ||
} | ||
|
||
public String getValue() { | ||
return value; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.