Modern document management platform connecting physical equipment to digital docs via QR codes. Version control, team collaboration, and field-ready access for technical documentation. https://docport.io
  • Svelte 65.4%
  • TypeScript 27%
  • JavaScript 6.4%
  • CSS 1.1%
Find a file
Jonas Claes 0f145a14db docs: enhance CLAUDE.md with comprehensive development patterns and best practices
- Add dialog implementation pattern with form integration examples
- Document translation requirements as mandatory for all features
- Include UserState context integration guidelines
- Add custom form system migration guide from SuperForms
- Document component prop extension patterns
- Add file state management best practices
- Include commit message standards and quality expectations
- Clarify feature implementation expectations for production-ready code

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 22:43:09 +02:00
.github/workflows feat: add separate CI jobs for backend and frontend releases 2025-03-25 21:35:36 +01:00
.vscode dev/migrate forms (#5) 2025-07-28 22:10:41 +02:00
e2e feat: implement test data management and project creation functionality 2025-05-22 20:26:08 +02:00
messages feat: add edit version functionality with dialog integration 2025-07-29 22:40:43 +02:00
pb_hooks refactor: simplify error handling in personal team creation hook 2025-04-06 20:04:34 +02:00
pb_migrations feat: add internationalization support and enhance project versioning features 2025-06-24 20:31:35 +02:00
project.inlang refactor: upgrade Paraglide integration and update project schema 2025-03-08 15:25:48 +01:00
src feat: add edit version functionality with dialog integration 2025-07-29 22:40:43 +02:00
static feat: replace favicon with SVG format and remove unused placeholder image 2025-03-29 19:10:28 +01:00
.dockerignore feat: update Svelte adapter to Node and add frontend Docker configuration 2025-03-25 21:31:48 +01:00
.env.example chore: add example PocketBase configuration to .env.example 2025-04-27 20:38:35 +02:00
.gitignore feat: add Docker Compose configuration and migrations for PocketBase integration 2025-03-25 20:32:47 +01:00
.npmrc Initial commit 2025-02-13 20:44:47 +01:00
.prettierignore feat: update styles and structure in app layout, enhance utility types, and manage package dependencies 2025-05-24 23:02:00 +02:00
.prettierrc Initial commit 2025-02-13 20:44:47 +01:00
CLAUDE.md docs: enhance CLAUDE.md with comprehensive development patterns and best practices 2025-07-29 22:43:09 +02:00
CODE_OF_CONDUCT.md feat: big refactor 2025-04-24 22:16:07 +02:00
components.json fix: add missing newline at end of components.json 2025-05-24 23:03:05 +02:00
compose.dev.override.yml dev/migrate forms (#5) 2025-07-28 22:10:41 +02:00
compose.yml feat: big refactor 2025-04-24 22:16:07 +02:00
CONTRIBUTING.md feat: big refactor 2025-04-24 22:16:07 +02:00
Dockerfile.backend feat: update PocketBase version to 0.28.1 in Dockerfile 2025-05-19 20:47:46 +02:00
Dockerfile.frontend feat: update Svelte adapter to Node and add frontend Docker configuration 2025-03-25 21:31:48 +01:00
eslint.config.js dev/migrate forms (#5) 2025-07-28 22:10:41 +02:00
LICENSE feat: update license year, add CLAUDE and CONTRIBUTING documentation 2025-04-01 20:45:52 +02:00
package.json dev/migrate forms (#5) 2025-07-28 22:10:41 +02:00
playwright.config.ts feat: implement test data management and project creation functionality 2025-05-22 20:26:08 +02:00
pnpm-lock.yaml dev/migrate forms (#5) 2025-07-28 22:10:41 +02:00
README.md feat: big refactor 2025-04-24 22:16:07 +02:00
svelte.config.js feat: update Svelte adapter to Node and add frontend Docker configuration 2025-03-25 21:31:48 +01:00
tsconfig.json feat: update TypeScript configuration and ESLint rules for PocketBase integration 2025-04-06 19:42:15 +02:00
tsconfig.pocketbase.json feat: update TypeScript configuration and ESLint rules for PocketBase integration 2025-04-06 19:42:15 +02:00
vite.config.ts fix: update paraglide plugin strategy for improved localization handling 2025-06-23 20:27:27 +02:00
vitest-setup-client.ts Initial commit 2025-02-13 20:44:47 +01:00

DocPort

DocPort is a modern team and project management application built with SvelteKit and PocketBase. It allows teams to organize projects, track progress, and collaborate efficiently.

Features

  • Team Management: Create and manage teams with different permissions
  • Project Management: Create, update, and delete projects with status tracking
  • User Authentication: Secure login system with OAuth 2.0 support
  • Responsive Design: Beautiful UI that works on desktop and mobile
  • Internationalization: Supports multiple languages including English and Dutch

Getting Started

Prerequisites

  • Node.js v18+ and pnpm
  • Docker and Docker Compose (for development with PocketBase)

Installation

  1. Clone the repository:

    git clone https://github.com/DocPort-io/app.git
    cd app
    
  2. Install dependencies:

    pnpm install
    
  3. Start the development environment:

    docker compose -f compose.yml -f compose.dev.override.yml up backend
    
  4. Start the frontend development server:

    pnpm run dev
    

Running the Tests

Unit Tests

Run unit tests with Vitest:

pnpm run test:unit

To run a specific test:

pnpm run test:unit -- --test="test name"
# or
pnpm run test:unit path/to/spec.ts

End-to-End Tests

Run E2E tests with Playwright:

pnpm run test:e2e

Deployment

The application can be deployed using Docker:

  1. Build the Docker containers (if not already built):

    docker compose build
    
  2. Start the services in detached mode:

    docker compose up -d
    

This deploys both the frontend SvelteKit application and the PocketBase backend. The frontend will be available on port 3000 and the backend on port 8080 by default.

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository and the GitHub Releases page.

Authors

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

  • SvelteKit team for the excellent framework
  • PocketBase for the lightweight backend solution
  • Shadcn for the UI component inspiration