A robust, extensible URL shortener — engineered for clarity, reliability, and future innovation.
Shorties(shortened urls) is a thoughtfully designed URL shortening service, built with maintainability and scalability in mind. Its primary function is to transform lengthy URLs into concise, shareable links, while providing a solid foundation for advanced features and enhancements. It's the next Big Think coming out of Inwood, NYC('The Silicon Valley of the northeast! So I have heard!')
The project roadmap includes a unique, innovative twist (currently under wraps) that will differentiate Shorties from conventional solutions. Stay tuned for upcoming announcements.
- Deterministic, collision-resistant URL shortening
- Intuitive, developer-friendly API
- Comprehensive error handling and input validation
- Designed for extensibility and easy integration
- Clear, maintainable codebase with best practices in mind
- Additional features and a signature twist coming soon
git clone git@github.com:iamserda/shorties.git
cd shorties
cp .env.example .env
make install # poetry install
# run the app (dev)
make run # poetry run python src/app/main.py
# quality checks
make lint # poetry run pre-commit run ruff-check
make format # poetry run pre-commit run ruff-format
make typecheck # poetry run pre-commit run mypi .
make test # poetry run pytest -q
# before every commit, devs should:
make precommit # running make recipes: lint, format, test, typecheck, and poetry run precommit run
# or
make precommit-all # running make recipes: lint, format, test, typecheck, and poetry run precommit run --all-filesTo get up and running with Shorties, follow these steps:
-
Clone the repository:
git clone git@github.com:iamserda/shorties.git cd shorties -
Install Poetry:
- Linux/Windows(via Linux Subsystem):
sudo apt install poetry
- macOS:
brew install pipx pipx install poetry
- Linux/Windows(via Linux Subsystem):
-
Activate virtual-env, install project dependencies(incl. dev-deps): Ensure you are in the project root (where
pyproject.tomlis located):eval $(poetry env activate) poetry install
-
Run the application: Further instructions for running the service will be provided in future updates as config is subject to change to be more autonomous for deployment. For now, we will use:
make run # poetry run python src/app/main.py
Contributions are welcome and encouraged. If you have ideas for the upcoming twist, architectural improvements, or feature requests, please open an issue or submit a pull request. All contributions should adhere to clean code principles and include relevant documentation and tests where applicable.
This project is licensed under the MIT License.