Please read each note very carefully! Feel free to add/change project structure to a clean architecture to your view. and if you are not able to work on FrontEnd project, you can add a Swagger UI in a new Front project.
Create a simple CRUD application with that implements the below model:
Customer {
Firstname
Lastname
DateOfBirth
PhoneNumber
Email
BankAccountNumber
}
- TDD
- DDD
- BDD: Acceptance Test
- Clean git commits that shows your work progress.
-
During Create; validate the phone number to be a valid mobile number only (You can use Google LibPhoneNumber to validate number at the backend).
-
A Valid email and a valid bank account number must be checked before submitting the form.
-
Customers must be unique in database: By
Firstname
,Lastname
andDateOfBirth
. -
Email must be unique in the database.
-
Use database of choice to store data on the mobile.
-
Store the phone number in a database with minimized space storage (choose
varchar
/string
, orUint64
whichever store less space).
Please clone this repository in a new github repository in private mode and share with ID: mason-chase
in private mode on github.com and then create a PR that only shows what you have changed in the project, it means you must make sure that my commits are not erased from the history.