Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证An attempt to create a web application using caloohpay
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A modern web application that automates the calculation of out-of-hours (OOH) on-call compensation for engineering teams using PagerDuty schedules. Built with Next.js, TypeScript, and Material UI.
git clone https://github.com/lonelydev/caloohpay-web.git
cd caloohpay-web
npm install
Note: This will automatically install Playwright browsers needed for E2E testing via the postinstall script.
CalOohPay supports two authentication methods:
📖 Detailed Guide: docs/setup/api-token-auth.md
CalOohPay (or your preferred name)http://localhost:3000/api/auth/callback/pagerdutyread, schedules.read, users.read.env.local file (see step 4 below)📖 Detailed Instructions: docs/setup/pagerduty-oauth-setup.md
Create a .env.local file in the root directory:
# PagerDuty Configuration
# For API Token auth: No configuration needed (use token at login)
# For OAuth auth: Add your OAuth credentials below
NEXT_PUBLIC_PAGERDUTY_CLIENT_ID=your_client_id # Optional (for OAuth only)
PAGERDUTY_CLIENT_SECRET=your_client_secret # Optional (for OAuth only)
# NextAuth Configuration (Required)
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_generated_secret # Generate with: openssl rand -base64 32
# Application Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000
💡 Using API Token? You don't need OAuth environment variables. Just generate a NEXTAUTH_SECRET and you're ready to go!
npm run dev
Open http://localhost:3000 in your browser.
💡 First time? Choose your authentication method on the login page:
- API Token: Paste your PagerDuty User API Token
- OAuth: Sign in with the OAuth application you created in step 3
See docs/TESTING.md for comprehensive testing guidance, including:
Quick commands:
npm test # Run all unit tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Generate coverage report
npm run test:e2e:seeded # Run E2E tests (pre-authenticated, chromium only)
npm run test:e2e:seeded:all # Run E2E tests (pre-authenticated, all browsers)
npm run test:e2e:unauth # Run E2E tests (login flows, all browsers)
caloohpay-web/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ ├── lib/ # Utilities and helpers
│ ├── hooks/ # Custom React hooks
│ ├── context/ # React context providers
│ └── styles/ # Global styles and themes
├── tests/
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── e2e/ # End-to-end tests
├── public/ # Static assets
└── docs/ # Documentation
The application uses the same calculation logic as the CalOohPay CLI tool:
A day counts as out-of-hours (OOH) if:
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run format # Format code with Prettier
npm test # Run unit tests
npm run test:e2e # Run E2E tests
npm run test:coverage # Run tests with coverage
Deploy to Vercel for $0/month hosting:
# Install Vercel CLI
npm install -g vercel
# Deploy
vercel
Features:
📖 Complete Guide: docs/deployment/vercel.md
We welcome contributions! Please see our Contributing Guide for details.
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)This project is licensed under the ISC License - see the LICENSE file for details.
If you encounter any issues or have questions:
Made with ❤️ for engineering teams who deserve fair compensation for their on-call dedication.