Please read each note very carefully! Feel free to add/change project structure to a clean architecture to your view.
Create a simple CRUD application with Laravel that implements the below model:
Customer {
Firstname
Lastname
DateOfBirth
PhoneNumber
Email
BankAccountNumber
}
- TDD
- DDD
- BDD
- Clean architecture
- CQRS pattern (Event sourcing).
- Clean git commits that shows your work progress.
- Use PHP 8.2.x only
-
During Create; validate the phone number to be a valid mobile number only (Please 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.
- Store the phone number in a database with minimized space storage (choose
varchar
/string
, orbigInt unsigned
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, make sure you do not erase my commits and then create a pull request (code review). - Docker-compose project that loads database service automatically with
docker-compose up
- Web UI.
- Swagger