Skip to content

About

Starting point for the ExApp Python track of the Nextcloud developer course. Fork this, then follow along from module 2.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Pinboard — ExApp Python Scaffold

Starter scaffold for the ExApp Python Track of the Nextcloud Developer Course.

What this is

This repo contains the directory structure and skeleton files you'll build on as you work through the Beginner modules. The main.py skeleton handles AppAPI registration — you'll add your endpoints on top of it.

Getting started

  1. Fork this repository, then clone your fork:

    git clone https://github.com/YOUR_USERNAME/pinboard-python
    cd pinboard-python

    Fork rather than clone directly: the course has you commit your own work as you go, and module 8 walks through publishing your app, which needs a repository you own.

  2. Create and activate a virtual environment:

    python3 -m venv .venv
    source .venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Follow the course starting from Module 2 — App Anatomy

If you have not set up a development environment yet, start with Setting Up Your Development Environment.

Structure

pinboard-python/
├── appinfo/
│   └── info.xml          ← ExApp manifest
├── ex_app/
│   ├── lib/
│   │   └── main.py       ← FastAPI server skeleton
│   ├── img/              ← app icons
│   ├── css/              ← stylesheets
│   └── js/               ← compiled frontend assets
├── l10n/                 ← translation files
├── Makefile              ← development commands (run, register, restart)
├── requirements.txt      ← Python dependencies
└── .gitignore

Common commands

make run        # start the FastAPI dev server
make register   # register with AppAPI in nextcloud-docker-dev
make restart    # unregister and re-register (use after changing main.py)

See the Makefile for configuration variables (APP_PORT, APP_SECRET, NEXTCLOUD).

Requirements

  • Python 3.10+
  • Nextcloud 34 with AppAPI enabled
  • nextcloud-docker-dev (set up in Module 1)

Licence

AGPL-3.0-or-later, the same licence as Nextcloud itself.

About

Starting point for the ExApp Python track of the Nextcloud developer course. Fork this, then follow along from module 2.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages