{"id":18873176,"url":"https://github.com/leonardogrig/email-task-generator-frontend","last_synced_at":"2026-02-16T04:30:15.711Z","repository":{"id":254189799,"uuid":"844819996","full_name":"leonardogrig/email-task-generator-frontend","owner":"leonardogrig","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-21T21:09:49.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-31T00:32:16.130Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leonardogrig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T03:12:16.000Z","updated_at":"2024-08-21T21:11:44.000Z","dependencies_parsed_at":"2024-08-21T23:59:15.261Z","dependency_job_id":null,"html_url":"https://github.com/leonardogrig/email-task-generator-frontend","commit_stats":null,"previous_names":["leonardogrig/email-task-generator-frontend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardogrig%2Femail-task-generator-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardogrig%2Femail-task-generator-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardogrig%2Femail-task-generator-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardogrig%2Femail-task-generator-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leonardogrig","download_url":"https://codeload.github.com/leonardogrig/email-task-generator-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239824981,"owners_count":19703199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T05:34:03.620Z","updated_at":"2026-02-16T04:30:15.662Z","avatar_url":"https://github.com/leonardogrig.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Email Task Generator\n\nThis Next.js application allows users to sign in and view their last 24 hours of emails structured as tasks. Users can then send these tasks to their Google Calendar.\n\n## Features\n\n- User authentication with Google (NextAuth)\n- Fetches recent emails and converts them to tasks\n- Sends tasks to Google Calendar\n- Responsive UI using Tailwind CSS and shadcn/ui components\n\n## Tech Stack\n\n- Next.js 14 (App Router)\n- TypeScript\n- Tailwind CSS\n- shadcn/ui components\n- NextAuth for authentication\n- Google APIs (Gmail, Calendar)\n- Axios for API requests\n- Bun as the JavaScript runtime\n\n## Setup\n\n1. Clone the repository\n2. Install dependencies:\n   ```\n   bun install\n   ```\n3. Set up environment variables (see below)\n4. Run the development server:\n   ```\n   bun run dev\n   ```\n\n## Environment Variables\n\nCreate a `.env.local` file in the root directory with the following variables:\n\n```\nGOOGLE_CLIENT_ID=your_google_client_id\nGOOGLE_CLIENT_SECRET=your_google_client_secret\nGOOGLE_CLIENT_EMAIL=your_google_client_email\nGOOGLE_PRIVATE_KEY=your_google_private_key\nGOOGLE_CALENDAR_ID=your_google_calendar_id\nNEXTAUTH_SECRET=a_random_string\nNEXTAUTH_URL=http://localhost:3000\nNEXT_PUBLIC_BACKEND_URL=http://localhost:5000\n```\n\n### Obtaining Google API Credentials\n\n1. Go to the [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project or select an existing one\n3. Enable the Gmail API and Google Calendar API for your project\n4. Go to \"Credentials\" and create a new OAuth 2.0 Client ID\n5. Download the client configuration and use the values for `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET`\n6. For `GOOGLE_CLIENT_EMAIL` and `GOOGLE_PRIVATE_KEY`, create a service account and download the JSON key\n\nNote: `GOOGLE_CALENDAR_ID` is typically your Gmail address for your primary calendar.\n\n## Important Notes\n\n- The `NEXT_PUBLIC_BACKEND_URL` should point to your Python backend application that converts emails to tasks.\n- The `NEXTAUTH_SECRET` can be any random string, but should be kept secret in production.\n- Users may need to re-authenticate with Google periodically to avoid \"unauthorized\" errors when creating tasks.\n\n## Development\n\n- Run `bun run dev` to start the development server\n- Run `bun run build` to create a production build\n- Run `bun run start` to start the production server\n- Run `bun run lint` to lint the codebase\n\n## License\n\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardogrig%2Femail-task-generator-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonardogrig%2Femail-task-generator-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardogrig%2Femail-task-generator-frontend/lists"}