# My Weekly To Do List A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view. ## Features - Weekly view of tasks and calendar events - Drag and drop functionality between days - Calendar integration with Google and Apple Calendar - Responsive design for all devices - Accessible user interface (WCAG 2.1 AA compliant) ## Deployment with Docker This application can be deployed using Docker and Docker Compose. ### Prerequisites - Docker Engine - Docker Compose ### Quick Start 1. Clone the repository and navigate to the project directory 2. Build and start the containers: ```bash docker-compose up --build ``` 3. Access the application at http://localhost:3000 ### Environment Variables The application requires the following environment variables: - `DATABASE_URL`: PostgreSQL connection string - `NEXTAUTH_SECRET`: Secret for NextAuth.js - `NEXT_PUBLIC_BASE_URL`: Public URL of the application - `MICROSOFT_CLIENT_ID`: Azure AD Application (client) ID for Microsoft Login - `MICROSOFT_CLIENT_SECRET`: Azure AD Application secret for Microsoft Login ### Database Configuration The application uses PostgreSQL for data storage. The Docker Compose setup includes a PostgreSQL service, but you can also connect to an external database by setting the `DATABASE_URL` accordingly. ### Building for Production To build the production version: ```bash docker build -t my-weekly-todo-list . ``` ## Development For development, you can run: ```bash npm run dev ``` ## License This project is licensed under the MIT License.