$ account nextcloud
Nextcloud Server is a self-hosted collaboration platform that provides file sync and sharing, calendar (CalDAV), contacts (CardDAV), comments, versioning, encryption, LDAP integration, OAuth2, two-factor authentication, and an extensible app ecosystem. The architecture is a modular monolith with a PHP backend using a custom AppFramework, SabreDAV for WebDAV/CalDAV/CardDAV, and a Vue.js frontend (mixing Vue 2 and Vue 3). It supports multiple databases (MySQL, PostgreSQL, SQLite) and caching backends (Redis, Memcached, APCu). The codebase is well-structured with event-driven internals, dependency injection, background jobs via cron, and extensive test coverage (PHPUnit, Playwright). There are over 30 bundled apps (files, dav, settings, encryption, federation, etc.) that follow plugin architecture. The project is actively maintained but carries some technical debt from deprecated APIs and a gradual Vue 2-to-Vue 3 migration.
Nextcloud News is an RSS/Atom feed reader app for Nextcloud. It provides a PHP backend (MVC with controllers, services, DB mappers) and a Vue 3 + TypeScript frontend. Users can subscribe to feeds, organize them into folders, read articles with read/unread/starred states, apply keyword filters, import/export OPML, and sync with mobile/desktop clients via REST APIs. Background cron jobs handle feed updates and cleanup. The architecture follows Nextcloud's app framework with scoped dependencies to avoid conflicts. Key entry points include the web UI (Vue SPA), CLI commands (`occ news:*`), and API endpoints (v1-2, v1-3, v2). External dependencies include feed-io for parsing, Guzzle/PSR-18 for HTTP, and Readability.php for full-text extraction. The codebase is well-tested with unit, integration, and BATS tests, and uses modern tooling (Vite, PHP 8.2+).
Nextcloud Social is a federated social networking application implemented as a Nextcloud app. It allows each Nextcloud user to become an ActivityPub actor (Person), enabling posting, following, liking, boosting, replying, and direct messaging across the Fediverse. The system is fully compatible with the Mastodon client API, supporting timelines, lists, filters, scheduled posts, polls, stories, collections, trends, and moderation features. The backend is written in PHP, structured with controllers, services, database request builders, and ActivityPub model classes. The frontend is built with Vue 3, Pinia, and Vue Router, providing a responsive single-page application for timelines, profiles, and settings. The app integrates deeply with Nextcloud's dashboard, notifications, search, user migration, and admin settings. Federation is handled via ActivityPub protocols with HTTP signature verification, outbound delivery queues, and WebFinger discovery. The codebase is well-tested with both PHPUnit and Vitest suites, covering unit, integration, and federation wire compatibility tests.