Skip to content

BehzadDara/URLShortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URLShortener

🚀 I'm thrilled to announce the release of URLShortener, a comprehensive and feature-rich repository for making URLs short in .NET 8 applications.


🌟 What’s Inside URLShortener?

This repository is packed with:

🚨 Functionality

  • ➡ Make a URL in short form of five chars
  • ➡ Supports about one Billion URLs
  • ➡ Use 'A' to 'Z', 'a' to 'z', and '0' to '9' to generate short forms
  • ➡ Sample: "http://localhost:5249/𝚛𝚗𝚟𝚜"
  • Count Click count of each short URL
  • Redirect short URL to the original one

🔧 Core Architecture & Design Patterns

  • Clean Architecture
  • CQRS pattern for separating read and write operations
  • Repository patterns
  • EF Core

🗄️ Database

  • SQL Server

🛠️ Middleware & Error Handling

  • Custom Middleware for cross-cutting concerns
  • Error Handlers for HTTP status codes (400, 404, 409, 500)
  • BaseResult pattern for uniform API responses

📊 Health Monitoring

  • Health Checks in route /healthz

🐳 Docker & DevOps

  • Docker support for containerization

📋 Swagger & API Management

  • ➡ Fully configured Swagger with security, examples

🔰 Tests

  • ➡ Unit tests
  • ➡ Integration tests
  • ➡ Functional tests
  • ➡ Load tests

🛑 See detail of tests in the below post
Testing Details

📌 Additional Tools & Patterns

  • Multi-language response based on header for En and Fa
  • ➡ Best practices in DDD and OOP

🛑 Used Random.Shared, a thread-safe feature introduced in .NET 8

🛑 Used Original and Shortened as Key to remove LoadAll before generating shortened URL and used try-catch to insert data


🔗 Explore the Repository

You can find all these features and more in the URLShortener repository on GitHub. Feel free to explore, fork, and contribute!
👉 GitHub Repository

🌟 Don't forget to give a STAR


🤝 Get Involved!

Contributions, feedback, and suggestions are highly welcome! Let’s collaborate to make URLShortener better.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •