042c45d9dd9c8eb5a0591664726a62a1da81dd76
Prisma 7's prisma.config.ts only configures the CLI, not the runtime PrismaClient. Without url in the datasource block, the generated client defaults to engineType "client" (WASM) which requires an adapter, causing next-auth adapter errors on OAuth callback. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WFH Daily Report App
A sleek, modern, and dockerized web application for employees to track and submit their daily work-from-home reports. Features a stunning glassmorphic design and seamless integration with Google Workspace.
✨ Features
- Premium UI: Modern glassmorphism aesthetics with smooth animations and responsive design.
- Google OAuth 2.0: Secure authentication using your company's Google Workspace accounts.
- Multi-Step Reporting:
- Morning: Log planned tasks, time estimates, and initial notes.
- Evening: Review achievements, update statuses, and submit links to completed work.
- Smart Admin Logic:
- The first user to log in is automatically granted the ADMIN role.
- Exclusive Admin Panel to search and review all employee reports.
- Google Drive Integration:
- Automatically exports completed reports as Google Docs.
- Admins can designate a specific folder for all exports.
- Single-Container Architecture: Uses SQLite for persistent storage, making it ideal for "drop-in" deployments (e.g., Unraid, Synology).
🚀 Quick Start
1. Prerequisites
- Google Cloud Console Project with:
- OAuth 2.0 Credentials (Web Application)
- Google Drive API enabled
- Docker installed on your host.
2. Environment Setup
Copy .env.example to .env and provide your credentials:
cp .env.example .env
3. Run with Docker
# Build and run the container
docker build -t wfh-report .
docker run -p 3000:3000 \
--env-file .env \
-v $(pwd)/data:/app/data \
wfh-report
🏡 Unraid Installation
For specific instructions on installing this on Unraid (including volume mapping and Unraid UI configuration), please refer to our Unraid Installation Guide.
🛠️ Tech Stack
- Framework: Next.js (App Router)
- Database: SQLite via Prisma ORM
- Auth: NextAuth.js
- Styles: Vanilla CSS & TailwindCSS (for utility)
- Icons: Lucide React
Description
Languages
TypeScript
91.2%
Dockerfile
3.3%
CSS
2.9%
JavaScript
2.6%