https://github.com/ayhem18/urlshortener
A small full-stack project: Url shortener
https://github.com/ayhem18/urlshortener
backend backend-api gradle java mongodb spring spring-boot spring-security
Last synced: 3 months ago
JSON representation
A small full-stack project: Url shortener
- Host: GitHub
- URL: https://github.com/ayhem18/urlshortener
- Owner: ayhem18
- Created: 2025-01-05T23:52:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-20T15:02:23.000Z (over 1 year ago)
- Last Synced: 2025-03-20T16:22:26.311Z (over 1 year ago)
- Topics: backend, backend-api, gradle, java, mongodb, spring, spring-boot, spring-security
- Language: Java
- Homepage:
- Size: 425 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# Overview
This is a simple (Smart) Url Shorter built mainly to gain more experience with several aspects of Web Development.
* Backend: built by [Ayhem18](https://github.com/ayhem18)
* FrontEnd: TODO
* Deployment /devops: TODO
# Usage
## Todo
# Functionality
The site offers URL shorterning service to companies. Each user is associated with a company.
The service revolves around the following entities:
* Company
* User
* Role
* Subscription
* Url
Each company is registed with a subscription that affects the scale of the service provided.
Each user has a role in their company that determines the actions they can perform. The company is not user-specific. It shared across the users of the same company.
Each company is created / registerd by a special user referred to as the `Owner`. Upon the company addition, the service shares special tokens specific to the company. A new user is verified using the tokens in question.
For better performance, the Url shorterning algorithm is not universal to all urls, but incorporates the company information in the decoding and encoding processes.
More details can be found in the [backend/documentation/ReadMe.md](backend/documentation/ReadMe.md) file.