From 49b61c31854a8eabfbd148b2dd49590de29251bd Mon Sep 17 00:00:00 2001 From: Thanh Pham <“zlatan.pham@gmail.com”> Date: Tue, 3 Oct 2023 17:25:49 +0700 Subject: [PATCH] add asssignment 06 --- README.md | 2 +- assets/bookstore-api-account.png | Bin 0 -> 44526 bytes assignment-6/README.md | 43 +++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 assets/bookstore-api-account.png create mode 100644 assignment-6/README.md diff --git a/README.md b/README.md index e1fa08cc..9dc3a02e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Welcome to the Frontend Training 2023 repository! This is where you'll find exer | 3 | [Tooling: Webpack, Babel, TypeScript, ESLint & Prettier](./assignment-3/) | 01/10/2023 | | 4 | [NextJS & TailwindCSS](./assignment-4/) | 06/10/2023 | | 5 | [Form handling](./assignment-5/) | 08/10/2023 | -| 6 | Authentication & API Integration | | +| 6 | [Authentication & API Integration](./assignment-6/) | 13/10/2023 | | 7 | Type-safe client server | | | 8 | Modern workflow & Deployment | | diff --git a/assets/bookstore-api-account.png b/assets/bookstore-api-account.png new file mode 100644 index 0000000000000000000000000000000000000000..151f89fa16e40d033c28d126692f3c131ea3f1de GIT binary patch literal 44526 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%0A3*&5os*k6<2(oOXw-AYrlc0 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