First, run the development server:
# start mysql docker
docker-compose up -d
# push database schema
npx prisma db push
# start the web app
npm run dev
Then navigate to http://localhost:3000
!
- contact entity must have firstName, lastName, emailAddress, phoneNumber.
- can create contact
- can create multiple contacts at once
- can update a contact
- can delete a contact
- use React and Next
- instructions to spin up app
- docker-ize app
- sort and filter contacts
- paginate contacts
- code organization
- implementation choices
- api structure
- code quality
- tests
- ui single contact component: list item
- ui contact list component: list of contacts
- ui edit contact: pencil icon
- ui create/edit contact form: form to create or edit, autofills on edit
- ui add another contact: button at bottom of create form, adds another create form
- ui submit new contacts: submits all contacts on screen
- ui submit updated contact: submits edited contact
- ui delete contact: trash can and "are you sure" popup
- api create contacts: POST, array of objects
- api update contact: PATCH, [id], object
- api delete contact: DELETE, [id]