BARGAIN BIN QUIZLET
BBQ
Aryan, Anthony, Edward, Junyu, Justin, Lucas, Thomas, Winston
PROJECT OVERVIEW
SOLID PRINCIPLES
SOLID PRINCIPLES
CODE ORGANIZATION
CODE SMELLS
FEATURES
SIGNUP AND LOGIN
01
HOMEPAGE AND DATABASE
02
CREATE / DELETE FLASHCARD SET
03
CREATE / DELETE FLASHCARD
04
EDIT FLASHCARD / FLASHCARD SET
05
STUDY MODE
06
QUIZ MODE
07
SEARCH FOR A FLASHCARD SET
08
REGISTRATION / SIGNUP
01
Aryan
DEMO
Functionality
User Signup
Admin User Signup
Error Handling
Existing Username, Incorrect Repeat Password, Incorrect Filled AdminKey
CHALLENGE
Differentiating between the creation of User and AdminUser with adherence to Clean Architecture
LEARNING
Introduction to the implementation with Clean Architecture that ensures SOLID Principles with inspiration
LOGIN
01
Aryan
DEMO
Functionality
User Login
Error Handling
Incorrect Username,
Incorrect Password
CHALLENGE
Not directly constructing the database mimicking real life software development.
LEARNING
GitHub communication / reviewing and database referencing
HOME SCREEN
02
Justin
LEARNING
Displaying all the data into one screen
DATABASE
02
Justin
CHALLENGE
Figuring out what design principle to use to build the data access classes in order to adhere to SOLID.
DEMO
Functionality
Reads and writes data from and to the database
Error Handling
Has the ability to read csv file with a delimiter specified in the value itself
LEARNING
Adapting a facade design pattern to the creation of the data access classes and the gateway itself.
CREATE/DELETE FLASHCARD SET
Edward
————————————————————————————————————————
03
DEMO
Edward
Create (0:00-0:30)
Delete (0:30-0:47)
03
IMPLEMENTATION CHALLENGE
Edward
Initial design:
New design:
Use case interactors
Flashcard Set data access
Flashcard Set database
Use case interactors
DBGateway
(a Facade)
Flashcard Set database
Flashcard database
User database
03
CREATE FLASHCARD
04
Junyu Chen
CREATE FLASHCARD
04
Junyu Chen
CREATE FLASHCARD
04
Junyu Chen
DELETE FLASHCARD
04
Junyu Chen
CREATE / DELETE FLASHCARD
04
Junyu Chen
EDIT FLASHCARD AND FLASHCARD SET
05
Thomas Shim
EDIT FLASHCARD AND FLASHCARD SET
05
Thomas Shim
EDIT FLASHCARD AND FLASHCARD SET
05
Thomas Shim
Challenge faced/Learning
EDIT MAIN PAGE (view flashcard)
05
Thomas Shim
EDIT MAIN PAGE (view flashcard)
05
Thomas Shim
Challenge faced/Learning
STUDY MODE
06
Lucas
STUDY MODE
06
Lucas
CHALLENGE
How to build a complex entity out of stored data and allow the client to interact with this data without violating Clean Architecture. Solved with a builder design pattern
LEARNING
Effective communication with my team members
QUIZ MODE
07
Anthony
Text Entry
True False
Multiple Choice
Timer
Detailed Quiz Results
CHALLENGE
Learning how to implement clean architecture classes.
SEARCHING COMMUNITY FLASHCARDS
08
Winston
SEARCHING COMMUNITY FLASHCARDS
08
Winston
LEARNING
Connecting Use Cases
FUTURE WORK TO BE DONE
end
questions?