Add shorten endpoint and venv documentation

This commit is contained in:
2026-03-01 12:01:24 +02:00
parent 1e69590eaa
commit 7056fcefa6
2 changed files with 28 additions and 2 deletions
+10 -1
View File
@@ -1,9 +1,18 @@
# URL-shortener
URL-shortener project to showcase python use
## Create venv
cd /opt/kjc/int/URL-shortener
python3 -m venv venv
source venv/bin/activate
## Run locally
```bash
uvicorn app.main:app --reload
```
Then check:
http://127.0.0.1:8000
http://127.0.0.1:8000
http://127.0.0.1:8000/docs
Test Short URL Endpoint
http://127.0.0.1:8000/shorten
+18 -1
View File
@@ -1,9 +1,26 @@
from fastapi import FastAPI, HTTPException
from fastapi.responses import RedirectResponse
from pydantic import BaseModel
from app.utils import generate_short_code
app = FastAPI()
url_store = {}
class URLRequest(BaseModel):
url: str
@app.get("/")
def home():
return {"message": "URL Shortener API"}
@app.post("/shorten")
def shorten_url(request: URLRequest):
short_code = generate_short_code()
url_store[short_code] = {
"original_url": request.url,
"clicks": 0
}
return {"short_url": f"http://localhost:8000/{short_code}"}