ReduceLink 🔗

Un service de raccourcissement de liens gratuit, simple et transparent.

Next.js TypeScript Tailwind CSS SQLite

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.

S
Description
Fast and simple URL shortener
Readme 142 KiB
Languages
TypeScript 98.6%
CSS 1%
JavaScript 0.4%