Skip to content

Developer Guide

This section covers everything you need to deploy, configure, and extend the NFDI-MatWerk Zenodo Uploader.

Prerequisites

Tool Minimum version
Docker 24.x
Docker Compose v2.x (docker compose)
A Zenodo account sandbox or production

Repository layout

nfdi-matwerk-zenodo-uploader/
├── backend/                  # FastAPI application
│   ├── app/
│   │   ├── api/              # Route handlers (auth, deposit)
│   │   ├── core/             # Settings (pydantic-settings)
│   │   └── models/           # Pydantic request/response models
│   ├── Dockerfile
│   └── requirements.txt
├── frontend/                 # React + Vite SPA
│   ├── src/
│   │   ├── components/       # Layout, StepIndicator, step forms
│   │   ├── pages/            # LandingPage, UploadWizard
│   │   └── lib/              # Zustand store, axios API client
│   ├── Dockerfile
│   └── vite.config.js
├── docs/                     # MkDocs-Material documentation
│   ├── docs/                 # Markdown source files
│   └── mkdocs.yml
├── docker-compose.yml
└── .env.example

Continue reading:

  • Architecture — data flow, auth flow, sequence diagrams
  • Deployment — production checklist, HTTPS, reverse proxy
  • OAuth Setup — registering a Zenodo OAuth application