Lucifer is an AI Chat Bot that utilizes Gemini API where users can interact with the bot, save sessions in the chat etc...
It is an AI Chat Bot that uses Google's Gemini API. It fetch responses on user's request, stream messages live on frontend and store them in database also. It also has a feature to save the chat session in the chat itself. It is created using NextJs, Typescript, MongoDB and Zod for validation. Frontend is designed using shadCn and tailwind css. It has the capability to read aloud messages and can except voice messages as well. You can also copy response as it is shown on the screen. It uses Next Auth for authentication and Resend to send Emails. It also uses Redux for state management. For icons I have used Lucid React. useForm hook is used for handling form validation and submissions. Vercel AI Sdk is used for response streaming.
-
Open the terminal in
gemini
folder and runnpm install
-
Create a new
.env
file in root folder and add the environment variables as mentioned in.env.sample
file -
Run
npm run dev
to start the application
- Add the required environment variables in
.env
file - Your mongo db connection string can look like this
mongodb://luciferDB:27017/dbName
in .env file - Open the terminal in
gemini
folder and rundocker-compose up
command make sure the ports are available you can change them as well indocker-compose.yml
file.