Skip to content

Sunagatov/URL-Shortener

Repository files navigation


URL Shortener

License GitHub issues Total Lines of Code Code Coverage

GitHub contributors GitHub stars Fork on GitHub

Table of Contents

Introduction

🟥 URL Shortener is a non-profit project aimed at providing a robust URL shortening service. Our goal is to enhance technical skills and collaborate on an engaging project.

🟥 We operate without financial backing or compensation; our efforts are driven by passion and commitment.

🔥 GitHub Stars

Please support the URL Shortener project by giving stars 🌟 on GitHub repositories - your ratings mean a lot to us! 🙂

Tech Stack

  • Architecture: Monolith.
  • Programming Language: Kotlin.
  • Framework: Spring Boot 3, Spring Data MongoDB, Spring Security, Spring Actuator, Spring Quartz, Spring Batch.
  • Database: MongoDB.
  • Caching: Caffeine.
  • Email: SMTP.
  • Monitoring: Prometheus.
  • Logging: Logback.
  • Testing: JUnit 5, Testcontainers, Rest Assured.
  • API Specs: Open API.
  • Validation: Javax Validation.

Quick Start

Follow the setup instructions in START.MD to get the project up and running.

🚢 Deployment

Deployment is managed using Docker Compose. You can find the production configuration in the docker-compose.yml file.

GitHub Actions handle continuous integration and deployment. Check out the CI pipeline for details.

🛤 Forking and Tweaking

Forks are welcome!

Please:

  • Share new features you implement so others can benefit and your codebase stays in sync with the original.
  • Use Discussions for support rather than official channels.

🙋‍♂️ Reporting a Bug

  • 🆕 Open a new issue.
  • 🔦 Search first to see if the issue already exists!
  • Provide detailed descriptions of the observed and expected behavior.

💎 Proposing a New Feature

  • Visit our Discussions
  • Check if the feature has been proposed already.
  • Create a new discussion with detailed requirements.

😍 Contributions

Contributions are welcome!

  • Check the Issues page for current tasks.
  • Comment on issues you're interested in working on.

For major changes, open an issue first or discuss in comments to avoid logical contradictions.

🚦 Issue Labels

🟩 Ready to Implement

  • good first issue — Great for newcomers.
  • bug — Issues that need fixing.
  • high priority — Urgent tickets.
  • enhancement — Improvements to existing features.

🟨 Discussion Needed

  • new feature — New, complex features.
  • idea — Ideas requiring discussion.

🟥 Questionable

  • ¯\(ツ) — Questionable issues, should be reviewed.
  • [no label] — New or unclear tickets.

👍 Top Contributors

Recognize our top contributors who make this project better:

😎 Project Creator / Tech Lead

⚙️ Backend Developers

👩‍💼 License

MIT

You can use the code for private and commercial purposes with appropriate attribution.

📞 Contact

Join our community on Telegram.

Feel free to reach out via email: [email protected].

❤️

Releases

No releases published

Packages

No packages published