mathieuc22 / url_shortener

A lightweight URL shortener built with FastAPI, featuring a REST API, Swagger documentation, and JSON-based data storage.

Home Page:https://api.lienb.fr/docs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

URL Shortener

Ce projet est un réducteur de lien / minimiseur d'URL simple, développé avec FastAPI. Il comprend une API pour créer, récupérer et lister les URL raccourcies. Ce README contient des instructions pour installer, exécuter et déployer l'application.

Prérequis

  • Python 3.7 ou supérieur
  • Git (optionnel, pour cloner le dépôt)

Installation

  1. Clonez ce dépôt (ou téléchargez-le manuellement) :
git clone https://github.com/mathieuc22/url_shortener.git
  1. Accédez au répertoire du projet :
cd url_shortener
  1. Créez un environnement virtuel pour isoler les dépendances de votre projet :
python -m venv venv
  1. Activez l'environnement virtuel :
  • Sous Linux et macOS :
source venv/bin/activate
  • Sous Windows :
venv\Scripts\activate
  1. Installez les dépendances :
pip install -r requirements.txt

Utilisation

  1. Exécutez l'application FastAPI localement avec uvicorn :
uvicorn main:app --reload
  1. Accédez à l'interface Swagger pour explorer et tester l'API :
http://127.0.0.1:8000/docs

Déploiement

Pour déployer cette application sur un serveur ou un service cloud, suivez les instructions spécifiques à la plateforme choisie. Voici quelques options pour déployer votre API :

Frontend

Pour créer une interface utilisateur pour votre réducteur de lien, vous pouvez utiliser des frameworks tels que React, Vue ou Angular, ou simplement utiliser du HTML, CSS et JavaScript pour créer une page statique. Cette page doit être en mesure de consommer l'API que vous avez créée avec FastAPI.

Une fois le frontend développé, vous pouvez héberger la page statique sur des services tels que GitHub Pages, Netlify ou Vercel.

Licence

Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus d'informations.

About

A lightweight URL shortener built with FastAPI, featuring a REST API, Swagger documentation, and JSON-based data storage.

https://api.lienb.fr/docs

License:MIT License


Languages

Language:Python 98.9%Language:Makefile 1.1%