From 1b7214d96caefda59ba8b40363a9be03ff42276c Mon Sep 17 00:00:00 2001 From: Mireya Cueto Garrido Date: Thu, 16 Apr 2026 09:12:00 +0200 Subject: [PATCH] Initialize backend and frontend structure with Docker setup and dependencies --- backend/Dockerfile | 10 ++++++++ backend/app/main.py | 0 backend/requirements.txt | 11 +++++++++ docker-compose.yml | 50 ++++++++++++++++++++++++++++++++++++++++ frontend/Dockerfile | 10 ++++++++ frontend/src/App.jsx | 0 6 files changed, 81 insertions(+) create mode 100644 backend/Dockerfile create mode 100644 backend/app/main.py create mode 100644 backend/requirements.txt create mode 100644 docker-compose.yml create mode 100644 frontend/Dockerfile create mode 100644 frontend/src/App.jsx diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..e3f2064 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.12-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY app ./app + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/backend/app/main.py b/backend/app/main.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..cb92acd --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,11 @@ +fastapi +uvicorn +sqlalchemy +psycopg2-binary +httpx +pydantic +python-dotenv +lxml +apscheduler +authlib +redis \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..773f6ca --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,50 @@ +version: "3.9" + +services: + + backend: + build: ./backend + container_name: orcid-backend + restart: always + ports: + - "8000:8000" + environment: + DATABASE_URL: postgresql://postgres:postgres@db:5432/orcid_db + ORCID_CLIENT_ID: ${ORCID_CLIENT_ID} + ORCID_CLIENT_SECRET: ${ORCID_CLIENT_SECRET} + REDIS_URL: redis://redis:6379/0 + depends_on: + - db + - redis + + frontend: + build: ./frontend + container_name: orcid-frontend + restart: always + ports: + - "3000:3000" + depends_on: + - backend + + db: + image: postgres:16 + container_name: orcid-postgres + restart: always + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: orcid_db + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + + redis: + image: redis:7 + container_name: orcid-redis + restart: always + ports: + - "6379:6379" + +volumes: + postgres_data: diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..53ab733 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,10 @@ +FROM node:20 + +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm install + +COPY . . + +CMD ["npm", "start"] diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx new file mode 100644 index 0000000..e69de29