Personal URL Shortener and API built using Go and MySQL (MariaDB). Includes analytics tracking, token management and folder organization.
Warning
This Project is Under Active Development.
Note
The source for this project was not created to be a template or theme, but for my use. Feel free to take whatever inspiration from it that you want. Want to provide any feedback?
Key Features:
- Shorten URLs: Easily create short, memorable aliases for your long URLs.
- Customizable: Organize your shortened links into folders for better management.
- Track Performance: Gain valuable insights with analytics on click-through rates and usage trends.
- Tokens for URLs: Utilize tokens for secure access to URLs.
- Auth: User authentication with session.
Technology Stack:
- Programming Language: Go
- Database: MySQL (MariaDB)
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
make run |
Starts local dev server at localhost:4225 |
make build |
Build your production server |
make clean |
Clear the application output |
make test |
Run the application tests (unit and integration) |
make test-unit |
Run the application tests (unit only) |
make test-int |
Run the application tests (integration only) |
make test-web |
Run the application tests with coverage (html output) |
make docker-status |
Check the docker container status |
make docker-run |
Build & Run the local docker |
make docker-start |
Start the local docker |
make docker-stop |
Stop the local docker |
make docker-reset |
Stop, Delete, Build and Start the local docker |
make swagger |
Generate swagger docs |
make swagger-fmt |
Format swagger docs |
make help |
Get help |
If you encounter any issues, have suggestions, or would like to provide feedback, please feel free to open an issue or reach out to us via email: [email protected].
This project is open source and available under the BSD 3-Clause License.