first commit

This commit is contained in:
moanos [he/him] 2025-04-17 07:04:59 +02:00
commit 97568607ca
4 changed files with 60 additions and 0 deletions

18
Dockerfile Normal file
View File

@ -0,0 +1,18 @@
# Dockerfile
FROM python:3.11-slim
# Set working directory
WORKDIR /app
# Install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the entire project (app folder inside container too)
COPY . .
# Expose port
EXPOSE 8000
# Run the server from within the "app" package
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

29
app/main.py Normal file
View File

@ -0,0 +1,29 @@
# app/main.py
from fastapi import FastAPI, Request
from datetime import datetime
from pathlib import Path
import json
app = FastAPI()
DATA_FILE = Path("data.json")
@app.post("/submit")
async def submit_data(request: Request):
payload = await request.json()
# Create the file if it doesn't exist
if not DATA_FILE.exists():
with open(DATA_FILE, "w") as f:
json.dump([], f)
with open(DATA_FILE, "r+", encoding="utf-8") as f:
existing_data = json.load(f)
existing_data.append({
"timestamp": datetime.now().isoformat(),
"data": payload
})
f.seek(0)
json.dump(existing_data, f, indent=4)
return {"message": "Data saved successfully"}

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
fastapi
uvicorn

11
test_main.http Normal file
View File

@ -0,0 +1,11 @@
# Test your FastAPI endpoints
GET http://127.0.0.1:8000/
Accept: application/json
###
GET http://127.0.0.1:8000/hello/User
Accept: application/json
###