https://github.com/florianlechat/raven-url-shortener
🔗 A URL shortener designed to be easy to use, intrinsically secure and fully customizable, with a totally independent API.
https://github.com/florianlechat/raven-url-shortener
a11y composer docker doctrine eslint gdpr husky i18n next-ui nextjs npm php phpunit prettier symfony tailwindcss typescript
Last synced: about 2 months ago
JSON representation
🔗 A URL shortener designed to be easy to use, intrinsically secure and fully customizable, with a totally independent API.
- Host: GitHub
- URL: https://github.com/florianlechat/raven-url-shortener
- Owner: FlorianLeChat
- License: mit
- Created: 2024-09-28T10:33:33.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-05-01T16:46:43.000Z (about 2 months ago)
- Last Synced: 2026-05-01T18:27:25.039Z (about 2 months ago)
- Topics: a11y, composer, docker, doctrine, eslint, gdpr, husky, i18n, next-ui, nextjs, npm, php, phpunit, prettier, symfony, tailwindcss, typescript
- Language: PHP
- Homepage: https://url.florian-dev.fr/
- Size: 46 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🔗 Raven Url Shortener

















## In French
> [!IMPORTANT]
> Depuis avril 2026, le code du projet est désormais hébergé sur mon instance GitLab personnalisée, accessible à [cette adresse](https://git.florian-dev.fr/floriantrayon/Raven-Url-Shortener). Le dépôt GitHub est un miroir du dépôt GitLab, **mis à jour automatiquement**.
>
> **Les contributions publiques restent sur GitHub et sont les bienvenues** ; les pull requests validées y seront ensuite transférées manuellement sur GitLab pour être intégrées. 🙂
Voici l'un de mes projets les plus aboutis à ce jour : **un service de raccourcissement de liens Internet (URL)**, inspiré du célèbre [Cparlà](https://cpar.la/) réalisé par... [mon entreprise](https://ciblemut.net/) !, mais avec une approche personnelle plus **moderne**, **personnalisable**, centrée sur la **sécurité** et la **confidentialité**.
Le projet a été conçu avec une séparation **claire** entre le *front-end* et le *back-end*, permettant à chaque partie d'évoluer indépendamment. Le *front-end* repose actuellement sur [Next.js](https://nextjs.org/) 🤕, ma technologie de prédilection, mais une migration vers [SvelteKit](https://svelte.dev/docs/kit/introduction) 💘 est prévue afin de se débarrasser de ce qu'est devenu l'écosystème React, que je considère aujourd'hui comme une **horreur**.
Le *back-end*, quant à lui, est construit sur le solide *framework* [Symfony](https://symfony.com/) 💪, et expose une API REST qui alimente le *front-end*, le rendant ainsi **totalement agnostique** vis-à-vis des évolutions futures. Ce *back-end* a également été pensé pour être utilisé par d'**autres services**, ce qui permet d'intégrer ce raccourcisseur à d'autres applications. Une documentation [Swagger](https://swagger.io/) (**en anglais uniquement**) a bien sûr été mise en place pour faciliter l'utilisation de l'API et accessible [ici](https://docs.url.florian-dev.fr/).
À terme, toutes les nouvelles fonctionnalités seront d'abord implémentées côté API avant d'être intégrées dans le front-end, **garantissant ainsi une cohérence et une évolutivité optimales du projet**.
> [!TIP]
> Voir le fichier [SETUP.md](SETUP.md) pour consulter les instructions d'installation.
> [!NOTE]
> Tout ou partie du code peut contenir des commentaires dans ma langue natale (le français) afin de faciliter le développement. 🌐
## In English
> [!IMPORTANT]
> Since April 2026, the project's code has been hosted on my custom GitLab instance, accessible at [this address](https://git.florian-dev.fr/floriantrayon/Raven-Url-Shortener). The GitHub repository is a mirror of the GitLab repository, **automatically kept up to date**.
>
> **Public contributions remain on GitHub and are welcome**; validated pull requests will then be manually transferred to GitLab to be integrated. 🙂
Here's one of my most successful projects to date: **an URL Shortener service**, inspired by the famous [Cparlà](https://cpar.la/) created by... [my company](https://ciblemut.net/)!, but with a more **modern**, **personalizable**, **security** and **confidentiality** approach of my own.
The project was designed with a **clear** separation between the front-end and the back-end, allowing each part to evolve independently. The front-end is currently based on [Next.js](https://nextjs.org/) 🤕, my technology of choice, but a migration to [SvelteKit](https://svelte.dev/docs/kit/introduction) 💘 is planned to get rid of what React's ecosystem has become, which I now consider a **nightmare**.
The back-end, on the other hand, is built on the solid [Symfony](https://symfony.com/) 💪 framework and exposes a REST API that powers the front-end, making it **totally agnostic** to future evolutions. This back-end was also designed to be used by **other services**, allowing this URL Shortener to be integrated into other applications. A [Swagger](https://swagger.io/) documentation has of course been set up to make the API easier to use and is accessible [here](https://url.florian-dev.fr/api/docs).
Ultimately, all new functionalities will first be implemented on API before being integrated into the front-end, **ensuring optimal project consistency and scalability**.
> [!TIP]
> See the [SETUP.md](SETUP.md) file for setup instructions.
> [!NOTE]
> All or part of the code may contain comments in my native language (French) to ease development. 🌐
