docs: update readme

This commit is contained in:
2025-12-17 14:15:00 +01:00
parent e16a639917
commit 0e063dd656

View File

@@ -1,3 +1,79 @@
# urupam
Yet another url shortener
`urupam` is a small URL shortener written in Perl with Mojolicious, using Redis for storage.
## Requirements
- Perl 5.42.0
- Mojolicious 9.42
## Roadmap
- [ ] connect to redis
- [ ] create dummy API endpoints
- [ ] decide how to handle short url generation
- [ ] avoid collisions in short urls
- [ ] redirect to the original url
- [ ] validate URLs and handle errors
- [ ] create a simple and clean UI
- [ ] manage/delete short urls
- [ ] create `Makefile.PL`
- [ ] create systemd service
- [ ] create `Dockerfile`
- [ ] create `docker-compose.yml`
- [ ] add unit tests along the way
## How to run
### Dev
To run the application in development, you'll first need a Redis server. The easiest way is to start a local Redis instance using Docker:
```sh
docker run --name mojo-redis -p 6379:6379 -d redis
```
Install Perl dependencies with [Carton](https://github.com/perl-carton/carton):
```sh
carton install
```
Start the application with `morbo`:
```sh
carton exec morbo bin/urupam
```
Open [http://127.0.0.1:3000](http://127.0.0.1:3000) in your browser.
### Install
Use the provided `Makefile.pl`:
```sh
perl Makefile.PL
make
make test
sudo make install
```
Activate/enable the systemd service:
```sh
sudo systemctl enable --now urupam
```
### Using docker
Build the image and use the `docker-compose` file:
```sh
cd docker
docker build -t urupam .
docker compose up -d
```
## License
This project is licensed under the GPLv3+ License. See the [LICENSE](LICENSE) file for details.