Skip to content

itsluminous/TodoChat

 
 

Repository files navigation

TodoChat

Minimal web UI for Gemini Pro Chat, hidden behind a Todo app.

Live demo: Gemini Pro Chat

Deploy

Deploy With Vercel(Recommended)

Deploy with Vercel

Just click the button above and follow the instructions to deploy your own copy of the app.

Deploy on Railway

Deploy on Railway

Just click the button above and follow the instructions to deploy on Railway.

Deploy on Zeabur

Deploy on Zeabur

Just click the button above and follow the instructions to deploy on Zeabur.

Deploy With Docker

To deploy with Docker, you can use the following command:

docker run --name todochat \
--restart always \
-p 3000:3000 \
-itd \
-e GEMINI_API_KEY=your_api_key_here \
-e TODO_SECRET=your_todo_secret_here \
itsluminous/todochat:latest

Please make sure to replace your_api_key_here with your own GEMINI API key.

This will start the todochat service, accessible at http://localhost:3000.

Environment Variables

You can control the website through environment variables.

Name Description Required
GEMINI_API_KEY Your API Key for GEMINI. You can get it from here.
TODO_SECRET Your secret todo item to switch from todo to chat.
API_BASE_URL Custom base url for GEMINI API. Click here to see when to use this.
HEAD_SCRIPTS Inject analytics or other scripts before </head> of the page
PUBLIC_SECRET_KEY Secret string for the project. Use for generating signatures for API calls
SITE_PASSWORD Set password for site, support multiple password separated by comma. If not set, site will be public

Running Locally

Pre environment

  1. Node: Check that both your development environment and deployment environment are using Node v18 or later. You can use nvm to manage multiple node versions locally.

     node -v
  2. PNPM: We recommend using pnpm to manage dependencies. If you have never installed pnpm, you can install it with the following command:

     npm i -g pnpm
  3. GEMINI_API_KEY: Before running this application, you need to obtain the API key from Google. You can register the API key at https://makersuite.google.com/app/apikey.

Getting Started

  1. Install dependencies

     pnpm install
  2. Copy the .env.example file, then rename it to .env, and

  • add your GEMINI_API_KEY to the .env file. GEMINI_API_KEY=AIzaSy...
  • add your TODO_SECRET to the .env file. TODO_SECRET=avacadoes
  1. Run the application, the local project runs on http://localhost:3000/.

     pnpm run dev

Acknowledgements

This project is inspired by and based on the following open-source project:

  • ChatGPT-Demo - For the foundational codebase and features.

About

Minimal web UI for GeminiPro, disguised as Todo app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 62.8%
  • Astro 21.7%
  • CSS 6.6%
  • JavaScript 4.6%
  • Shell 3.1%
  • Dockerfile 1.2%