3e536a0a0e6b1104da6cafa1d5097ddbfa449e5d
prisma.config.ts is a Prisma CLI config file, not part of the Next.js app — exclude it from tsconfig to prevent type errors. Also revert the migrate.adapter block (not a valid PrismaConfig key in 7.5) back to datasource.url which is the correct CLI config for db push. 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%