# 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](https://console.cloud.google.com/) 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: ```bash cp .env.example .env ``` ### 3. Run with Docker ```bash # 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](C:\Users\stedw\.gemini\antigravity\brain\26965ef4-0e57-4fac-9aaf-0111085e228b\unraid_install.md). ## 🛠️ Tech Stack - **Framework**: [Next.js](https://nextjs.org/) (App Router) - **Database**: [SQLite](https://sqlite.org/) via [Prisma ORM](https://www.prisma.io/) - **Auth**: [NextAuth.js](https://next-auth.js.org/) - **Styles**: Vanilla CSS & TailwindCSS (for utility) - **Icons**: [Lucide React](https://lucide.dev/)