Thử Nghiệm Với .Net - 01.Implement hệ thống rút gọn link giống tiny url

Posted on:11 tháng 10, 2024 at 08:15

Table of contents

Open Table of contents

Giới thiệu

Trong thời đại số hóa, việc chia sẻ và quản lý các liên kết trở nên cần thiết hơn bao giờ hết. Hệ thống rút gọn link giúp người dùng dễ dàng chia sẻ các URL dài, phức tạp thành những liên kết ngắn gọn, dễ nhớ hơn. Trong bài viết này, chúng ta sẽ tìm hiểu cách xây dựng một hệ thống rút gọn link đơn giản bằng .NET theo kiến trúc Clean Architecture.

Lý do mình làm series này

Mình làm series này với mục đích học hỏi cũng như cập nhập kiến thức về công nghệ mới.

Dây là topic system design mình sẽ follow khi làm app này: Design a URL Shortener - System Design Interview

Demo app: Ziply - Shorten link

Cấu trúc thư mục của dự án

Dự án chúng ta xây dựng sẽ lấy tên là Ziply Dự án sẽ được thiết kế follow theo Clean Architecture

1
📦 Ziply
2
├─ src
3
│  ├─ app
4
│  │  ├─ Ziply.Application
5
│  │  ├─ Ziply.Domain
6
│  │  ├─ Ziply.Infrastructure
7
│  │  └─ Ziply.API
8
│  ├─ services
9
│  │  ├─ Ziply.AuthenticationService
10
│  │  ├─ Ziply.EmailService
11
│  │  ├─ Ziply.LoggerService
12
│  │  ├─ Ziply.RedirectService
13
│  │  └─ Ziply.CacheService
14
│  ├─ workers
15
│  │  └─ Ziply.AnalysticWorker
16
│  ├─ ui
17
│  │  └─ Ziply.UI
18
│  └─ shared
19
│     └─ Ziply.Shared
20
└─ tests

Công nghệ sử dụng

Công cụ sử dụng

Kết luận

Trong bài viết này, chúng ta đã điểm qua những khái niệm cơ bản về hệ thống rút gọn link và cấu trúc dự án theo kiến trúc Clean Architecture. Ở các phần tiếp theo, chúng ta sẽ đi sâu vào từng bước triển khai cụ thể cho các thành phần trong hệ thống, từ việc thiết lập môi trường phát triển đến việc code cho các Service và API.

Bài tiếp theo chúng ta sẽ tiến hành cài đăt công cụ và môi trường phát triển.

Bài viết tham khảo

Design a URL Shortener - System Design Interview

Bài viết trong series

Bài 1 - Implement hệ thống rút gọn link giống tiny url, bitly

Bài 2 - Setup môi trường, cài các công cụ và extension cần thiết để tiến hành xây dựng ứng dụng rút gọn link

Bài 3 - Tạo dự án và xây dựng cấu trúc thư mục backend với .Net 8 bằng Visual Studio.

Bài 4 - Tạo dự án và xây dựng cấu trúc thư mục backend với .Net 8 bằng .NetCLI

Bài 5 -Xây dựng Domain project với Domain Driven Design