Skip to content

Commit 4f54429

Browse files
committed
fixed merge conflicts in main home page branch
2 parents 3e7cd2c + 8127b97 commit 4f54429

File tree

246 files changed

+4705
-2262
lines changed

Some content is hidden

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

246 files changed

+4705
-2262
lines changed

.idea/vcs.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 59 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,59 @@
1-
# Project Template
2-
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.
6-
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
14-
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.**
16-
17-
## Workflow Documents
18-
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.
20-
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.**
22-
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)
26-
27-
You have been provided with two starter files for demonstration: HelloWorld and HelloWorldTest.
28-
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.
31-
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.
34-
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`.
36-
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.
1+
**Welcome to Bargain Bin Quizlet (BBQ for short)!**
2+
3+
This is a flashcard study application inspired by Quizlet.
4+
5+
# Main Features
6+
7+
### 1a. Sign Up For The Application.
8+
- If the user selects the "Sign Up" option from the welcome screen the user has an option of Signing up as a user with or without admin level access
9+
- The user must select a username that does not previously exist in the database, if the user inputs a previously existing username they shall be warned with a failure in registration and must choose another username.
10+
- The password needs to be greater than or equal to 5 characters in length and not blank.
11+
- The repeat password must match the password entered to ensure coherency and surety.
12+
- If the user does not require admin level they can leave the Admin Key field blank and they shall be registered as a common user that can access teh program.
13+
- If the user does require admin level access they can input the Admin Key in the field, if there is an error in the inputting of the key the user shall be warned accordingly.
14+
15+
### 1b. Log In For The Application.
16+
- If the user selects the "Log In" option from the welcome screen the user may input their respective username and password, if the username does not match an existing username from the database or incorrect password they shall be warned.
17+
18+
### 2. Create a flashcard or a flashcard set.
19+
20+
### 3a. Edit a flashcard set.
21+
- If there are no flashcard sets on the main page, then we cannot edit a flashcard set.
22+
- If there is a flashcard set, the user can choose which flashcard set to edit and can click the "Edit" button of the desired flashcard set.
23+
- When "Edit" is clicked an Editor Main Page is shown. There is an "Edit Flashcard Set" button and when clicked a window pops up with Title and Description text prompts for the user to edit. The user cannot change the Title to an empty title.
24+
### 3b. Edit a flashcard in a flashcard set.
25+
- If there are no flashcard sets on the main page, then we cannot edit a flashcard in a flashcard set.
26+
- If there is a flashcard set, the user can choose which flashcard set to edit and can click the "Edit" button of the desired flashcard set.
27+
- When "Edit" is clicked an Editor Main Page is shown.
28+
- If there are no flashcards, the user cannot edit a flashcard.
29+
- If there are flashcards, the user can choose which flashcard to edit by clicking the "Edit Flashcard" button. When clicked a window pops up with Term and Definition text prompts for the user to edit. The user cannot change the Term to an empty term.
30+
31+
### 4. Delete a flashcard or a flashcard set.
32+
33+
### 5. Search for a public flashcard set.
34+
- If the user selects the search button from the main page the user can search through the public community database for flashcard sets
35+
- The user types in search input, and selects tags to search from (title, description, owner), or optionally they can choose to “search all”
36+
- The user will be taken to a results screen where a list of all the public flashcard sets matching the user’s search will be returned, displaying the title, description, and creator for each
37+
- If the user is an admin, a list of all flashcard sets will be returned, regardless if the flashcard set is public or private
38+
- Once the user is on the results screen they are able to study or take a quiz for each flashcard set
39+
- If the user is an admin they also have the ability to edit and delete every flashcard set in the results
40+
41+
### 6. Study from a flashcard set.
42+
- Given a flashcard set, the user can enter study mode
43+
- The user can choose how to sort the flashcard set: by creation date, by alphabetical order, or by random shuffle
44+
- The user can choose if they want to view the cards in order or in reverse order
45+
- The user can choose if the flashcard displays terms or definition by default
46+
- The user is then presented with the first flashcard in the flashcard set, given their sorting preferences. The user can choose to
47+
flip the flashcard, go to the next card, or go to the previous card until they wish to quit studying
48+
### 7. Generate and take a quiz from a flashcard set.
49+
- Given a flashcard set, the user can enter quiz mode.
50+
- Quiz mode features three types of questions: multiple choice, text entry, and true/false.
51+
- First, the user toggles a set of quiz settings (such as number of questions, question types, and timer).
52+
- Then, the user submits their quiz settings and a quiz is automatically generated for them.
53+
- After taking and submitting the quiz, the user can receive their quiz results and identify which questions they answered incorrectly.
54+
55+
### 8. Save user and flashcard data to the database.
56+
57+
# How to run the application?
58+
59+
Run src/main/java/Main.java.

gradlew

100755100644
File mode changed.

src/data/FlashcardSets.csv

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
11
title,description,isPrivate,flashcardSetId,ownerUsername,flashcardIds
22
test set 1,for testing study use case,false,0,testUser,0,1,2,3
33
empty test set,for testing study use case with empty set,true,1,testUser
4-
my flashcard set,for presentation,false,2,lucas,4
5-
csc207,csc207 class,false,3,jempio
6-
lol,decsi,false,4,testUser
7-
l,fdjas;lghd,false,5,testUser
8-
k,tge gy,false,6,testUser,5
9-
p,osdglskg,false,7,testUser
10-
b,klijdasgsd,false,8,testUser
11-
kindasas,klndsaf,false,9,testUser
4+
Long Test Set,Insert Generic Description,false,2,Anthony,10,11,12,13,14,15,16,17,18,19,20,21

src/data/Flashcards.csv

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,15 @@ test card 1,the first test card,2022-11-13T15:32:26.666982800,0,0
33
test card 2,the second test card,2022-11-13T15:32:27.666982800,1,0
44
test card 3,the third test card,2022-11-13T15:32:28.666982800,2,0
55
alphabetical order checker,to test if alphabetical order is working,2022-11-13T15:32:29.666982800,3,0
6-
my new flashcard,my test definition,2022-11-21T14:27:10.045791,4,2
7-
fasdgadsf,alsflasfkal,2022-11-28T14:54:37.086646100,5,6
6+
Term A,Definition A,2022-11-13T15:32:26.666982800,10,2
7+
Term B,Definition B,2022-11-13T15:32:27.666982800,11,2
8+
Term C,Definition C,2022-11-13T15:32:28.666982800,12,2
9+
Term D,Definition D,2022-11-13T15:32:29.666982800,13,2
10+
Term E,Definition E,2022-11-13T15:32:29.666982800,14,2
11+
Term F,Definition F,2022-11-13T15:32:29.666982800,15,2
12+
Term G,Definition G,2022-11-13T15:32:29.666982800,16,2
13+
Term H,Definition H,2022-11-13T15:32:29.666982800,17,2
14+
Term I,Definition I,2022-11-13T15:32:29.666982800,18,2
15+
Term J,Definition J,2022-11-13T15:32:29.666982800,19,2
16+
Same Term,Same Definition,2022-11-13T15:32:29.666982800,20,2
17+
Same Term,Same Definition,2022-11-13T15:32:29.666982800,21,2

src/data/Users.csv

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
username,password,isAdmin,flashcardSetIds
2-
jempio,ilovejempio,false,3
2+
jempio,ilovejempio,false
33
ducas,badpassword,false
4-
lucas,password,false,2
5-
adminUser,password,true
6-
testUser,password,false,0,1,4,5,6,7,8,9
4+
Anthony,123456,false,2
5+
testUser,password,false,0,1

src/images/bbq.png

20.2 KB
Loading

src/images/spungebub.png

-32.8 KB
Binary file not shown.

src/main/java/Editor/Flashcard/FlashcardEditorInputBoundary.java

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/main/java/Editor/Flashcard/FlashcardEditorInteractor.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)