Skip to content

Commit e867684

Browse files
committed
Updated local repo to work properly with renames
2 parents 1a052ee + 14f74d2 commit e867684

File tree

158 files changed

+1139
-906
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+1139
-906
lines changed

README.md

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,30 @@
1-
# Project Template
1+
**Welcome to Bargain Bin Quizlet (BBQ for short)!**
22

3-
This is a template repository for CSC 207 projects.
4-
This repository contains starter code for a gradle project.
5-
It also contains workflow documents that give instructions on how to manage your Github repository and how to use Github Projects for efficient collaboration.
3+
This is a flashcard study application inspired by Quizlet.
64

7-
## Checklist For Your Project
8-
- [ ] Verify the correct settings for your project repository
9-
- [ ] Set up Github Projects
10-
- [ ] Create the implementation plan using issues and Github Projects
11-
- [ ] Create deveopment branches for your features
12-
- [ ] Use pull requests to merge finished features into main branch
13-
- [ ] Conduct code reviews
5+
# Main Features
146

15-
**If your team has trouble with any of these steps, please ask on Piazza. For example, with how GitHub Classroom works, your team *may* not have permissions to do some of the first few steps, in which case we'll post alternative instructions as needed.**
7+
### 1. Log in or sign up for the application.
168

17-
## Workflow Documents
9+
### 2. Create a flashcard or a flashcard set.
1810

19-
* Github Workflow: Please refer to the workflow that was introduced in the first lab. You should follow this when working on your code. The following document provides additional details too.
11+
### 3. Edit a flashcard or a flashcard set.
2012

21-
* [Project Planning and Development Guide](project_plan_dev.md): This document helps you to understand how to create and maintain a project plan for your class project. **This document helps you to complete the Implementation Plan Milestone.**
13+
### 4. Delete a flashcard or a flashcard set.
2214

23-
## Gradle Project
24-
Import this project into your Intellij editor. It should automatically recognise this as a gradle repository.
25-
The starter code was built using SDK version 11.0.1. Ensure that you are using this version for this project. (You can, of course, change the SDK version as per your requirement if your team has all agreed to use a different version)
15+
### 5. Search for a public flashcard set.
2616

27-
You have been provided with two starter files for demonstration: HelloWorld and HelloWorldTest.
17+
### 6. Study from a flashcard set.
2818

29-
You will find HelloWorld in `src/main/java/tutorial` directory. Right click on the HelloWorld file and click on `Run HelloWorld.main()`.
30-
This should run the program and print on your console.
19+
### 7. Generate and take a quiz from a flashcard set.
20+
- Given a flashcard set, the user can enter quiz mode.
21+
- Quiz mode features three types of questions: multiple choice, text entry, and true/false.
22+
- First, the user toggles a set of quiz settings (such as number of questions, question types, and timer).
23+
- Then, the user submits their quiz settings and a quiz is automatically generated for them.
24+
- After taking and submitting the quiz, the user can receive their quiz results and identify which questions they answered incorrectly.
3125

32-
You will find HelloWorldTest in `src/test/java/tutorial` directory. Right click on the HelloWorldTest file and click on `Run HelloWorldTest`.
33-
All tests should pass. Your team can remove this sample of how testing works once you start adding your project code to the repo.
26+
### 8. Save user and flashcard data to the database.
3427

35-
Moving forward, we expect you to maintain this project structure. You *should* use Gradle as the build environment, but it is fine if your team prefers to use something else -- just remove the gradle files and push your preferred project setup. Assuming you stick with Gradle, your source code should go into `src/main/java` (you can keep creating more subdirectories as per your project requirement). Every source class can auto-generate a test file for you. For example, open HelloWorld.java file and click on the `HelloWorld` variable as shown in the image below. You should see an option `Generate` and on clicking this your should see an option `Test`. Clicking on this will generate a JUnit test file for `HelloWorld` class. This was used to generate the `HelloWorldTest`.
28+
# How to run the application?
3629

37-
![image](https://user-images.githubusercontent.com/5333020/196066655-d3c97bf4-fdbd-46b0-b6ae-aeb8dbcf351d.png)
38-
39-
You can create another simple class and try generating a test for this class.
30+
Run src/main/java/Main.java.

gradlew

100755100644
File mode changed.

src/main/java/Main.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import com.formdev.flatlaf.FlatDarculaLaf;
22

3-
import dataAccess.*;
43
import login_and_signup_use_case.login_and_signup_use_case_screens.WelcomeScreen;
5-
import quiz_use_case.*;
6-
import quiz_use_case.screens.QuizSettingsScreen;
74

85
import java.io.IOException;
96

@@ -17,17 +14,5 @@ public static void main(String[] args) throws IOException {
1714
FlatDarculaLaf.setup(); // dark mode
1815

1916
new WelcomeScreen();
20-
21-
// WILL DELETE THIS CODE SECTION AFTER I FINISH TESTING - Anthony
22-
// IFlashcardSetDataAccess flashcardSetDataAccess = new FlashcardSetDataAccess(DBGateway.getFlashcardSetPath());
23-
// IFlashcardDataAccess flashcardDataAccess = new FlashcardDataAccess(DBGateway.getFlashcardPath());
24-
// IUserDataAccess userDataAccess = new CommonUserDataAccess(DBGateway.getUserPath());
25-
// DBGateway gateway = new DBGateway(flashcardDataAccess, flashcardSetDataAccess, userDataAccess);
26-
27-
// QuizOutputBoundary presenter = new QuizPresenter();
28-
// QuizInputBoundary interactor = new QuizInteractor(gateway, presenter);
29-
// QuizController controller = new QuizController(interactor);
30-
31-
// new QuizSettingsScreen(controller, 2);
3217
}
3318
}

src/main/java/create_flashcardset_use_case/CreationScreen.java renamed to src/main/java/create_flashcard_set_use_case/CreationScreen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
import login_and_signup_use_case.UserLoginResponseModel;
44

src/main/java/create_flashcardset_use_case/FlashcardSetController.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
// Interface adapters (Green) layer
44

src/main/java/create_flashcardset_use_case/FlashcardSetCreationFailed.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetCreationFailed.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
public class FlashcardSetCreationFailed extends RuntimeException {
44
public FlashcardSetCreationFailed(String error) {

src/main/java/create_flashcardset_use_case/FlashcardSetInputBoundary.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetInputBoundary.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
// Use case (Red) layer
44

src/main/java/create_flashcardset_use_case/FlashcardSetInteractor.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetInteractor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

3-
import dataAccess.DBGateway;
4-
import dataAccess.IFlashcardSetDataAccess;
3+
import data_access.DBGateway;
4+
import data_access.IFlashcardSetDataAccess;
55
import entities.FlashcardSet;
66
import entities.FlashcardSetFactory;
7-
import entityRequestModels.FlashcardSetDsRequestModel;
7+
import data_access.entity_request_models.FlashcardSetDsRequestModel;
88

99
import java.util.ArrayList;
1010
import java.util.Objects;

src/main/java/create_flashcardset_use_case/FlashcardSetOutputBoundary.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetOutputBoundary.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
// Use case (Red) layer
44

src/main/java/create_flashcardset_use_case/FlashcardSetPresenter.java renamed to src/main/java/create_flashcard_set_use_case/FlashcardSetPresenter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package create_flashcardset_use_case;
1+
package create_flashcard_set_use_case;
22

33
// Interface adapters (Green) layer
44

0 commit comments

Comments
 (0)