- Svelte 65.4%
- TypeScript 27%
- JavaScript 6.4%
- CSS 1.1%
- 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> |
||
|---|---|---|
| .github/workflows | ||
| .vscode | ||
| e2e | ||
| messages | ||
| pb_hooks | ||
| pb_migrations | ||
| project.inlang | ||
| src | ||
| static | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| components.json | ||
| compose.dev.override.yml | ||
| compose.yml | ||
| CONTRIBUTING.md | ||
| Dockerfile.backend | ||
| Dockerfile.frontend | ||
| eslint.config.js | ||
| LICENSE | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| tsconfig.pocketbase.json | ||
| vite.config.ts | ||
| vitest-setup-client.ts | ||
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
-
Clone the repository:
git clone https://github.com/DocPort-io/app.git cd app -
Install dependencies:
pnpm install -
Start the development environment:
docker compose -f compose.yml -f compose.dev.override.yml up backend -
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:
-
Build the Docker containers (if not already built):
docker compose build -
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
- SvelteKit - Web framework
- Svelte 5 - Component framework
- PocketBase - Backend database and auth
- TailwindCSS - CSS framework
- Shadcn-Svelte - UI components
- Docker - Containerization
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