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
geminifolder and runnpm install -
Create a new
.envfile in root folder and add the environment variables as mentioned in.env.samplefile -
Run
npm run devto start the application
- Add the required environment variables in
.envfile - Your mongo db connection string can look like this
mongodb://luciferDB:27017/dbNamein .env file - Open the terminal in
geminifolder and rundocker-compose upcommand make sure the ports are available you can change them as well indocker-compose.ymlfile.







