mirror of
https://github.com/arthur-pbty/reducelink.git
synced 2026-06-03 15:07:36 +02:00
master
ReduceLink 🔗
Un service de raccourcissement de liens gratuit, simple et transparent.
- Site officiel : https://reducelink.arthurp.fr
- Dépôt GitHub : https://github.com/arthur-pbty/reducelink
✨ Fonctionnalités
- Raccourcissement de liens : Transformez vos URLs longues en liens courts
- Alias personnalisé : Choisissez votre propre alias ou laissez-en générer un automatiquement
- QR Code : Chaque lien génère un QR Code téléchargeable
- Statistiques : Suivez le nombre de clics en temps réel
- 100% gratuit : Aucune inscription, aucune limitation
- Transparence : Tous les liens sont publics
🚀 Démarrage rapide
Prérequis
- Node.js 18+
- npm ou yarn
Installation
# Cloner le projet
git clone https://github.com/arthur-pbty/reducelink.git
cd reducelink
# Installer les dépendances
npm install
# Configurer l'environnement
cp .env.example .env
# Initialiser la base de données
npx prisma migrate dev
# Lancer le serveur de développement
npm run dev
Ouvrez http://localhost:3000 dans votre navigateur.
📁 Structure du projet
reducelink/
├── prisma/
│ ├── schema.prisma # Schéma de la base de données
│ └── migrations/ # Migrations SQL
├── src/
│ ├── app/ # Pages Next.js (App Router)
│ │ ├── page.tsx # Page d'accueil
│ │ ├── liens/ # Liste des liens
│ │ ├── stats/ # Statistiques
│ │ ├── a-propos/ # À propos
│ │ ├── conditions/ # CGU
│ │ └── [shortCode]/ # Redirection dynamique
│ ├── components/ # Composants React
│ └── lib/ # Utilitaires et actions
├── public/ # Assets statiques
└── package.json
🛠️ Technologies
- Framework : Next.js 16 avec App Router
- Langage : TypeScript
- Base de données : SQLite avec Prisma
- Styles : Tailwind CSS
- QR Code : qrcode.react
📖 Pages
| Route | Description |
|---|---|
| / | Page d'accueil avec formulaire |
| /liens | Liste de tous les liens |
| /stats | Statistiques globales |
| /a-propos | Informations sur le service |
| /conditions | Conditions d'utilisation |
| /{shortCode} | Redirection vers l'URL originale |
🔧 Configuration
Variables d'environnement (.env) :
# Base de données SQLite
DATABASE_URL="file:./dev.db"
# URL de base du site
NEXT_PUBLIC_BASE_URL=http://localhost:3000
📦 Scripts
npm run dev # Serveur de développement
npm run build # Build de production
npm run start # Serveur de production
npm run lint # Linting ESLint
🗃️ Base de données
Commandes Prisma utiles :
npx prisma migrate dev # Créer une migration
npx prisma migrate reset # Réinitialiser la DB
npx prisma studio # Interface visuelle
npx prisma generate # Générer le client
Fait avec ❤️ pour simplifier vos URLs.
Languages
TypeScript
98.6%
CSS
1%
JavaScript
0.4%