SuperEmail is an innovative platform designed to revolutionize how you manage your emails. With advanced features powered by AI, SuperEmail simplifies email communication, helping you save time and stay organized.
- Send and receive emails effortlessly.
- Organize your inbox for better productivity.
- Write Emails: Use AI to craft professional, personalized, or creative emails quickly.
- Quick Answers: Ask questions like "When is my next flight?" and let AI find the answers directly from your emails.
- Search your inbox smarter and faster with AI-driven insights.
- Use the built-in chat feature to collaborate or communicate seamlessly.
- AI-Powered Productivity: Automate repetitive tasks and focus on what matters.
- Streamlined Communication: Access emails and chat in one platform.
- Quick Insights: Let AI help you retrieve critical information from your inbox instantly.
- User-Friendly Interface: Intuitive design tailored for efficiency.
- Email Sync: Connect your Gmail account and other supported email platforms securely.
- AI Integration: Leverage OpenAI-powered capabilities to write, search, and analyze emails.
- Collaborative Environment: Use the chat feature to stay connected with your team.
Welcome to the project! Follow the steps below to get the application up and running.
- Node.js and npm installed.
- Docker installed and running.
- Access to services: Ngrok, Clerk, Aurinko.io, Google Cloud Console, and OpenAI.
git clone https://github.com/Sukomal07/superEmail.git
cd superEmail
npm install
- Copy the
.env.example
file and create a.env
file:
cp .env.example .env
- Run the PostgreSQL database using Docker:
./start-database.sh
- Push the database schema using:
npm run db:push
- Open a tunnel for port 3000 using Ngrok:
ngrok http 3000
- Note the
ngrok
URL for later use.
- Create a Clerk account.
- Configure webhooks:
- Navigate to the Webhook section in Clerk.
- Use the
ngrok
URL with/api/clerk/webhook
(e.g.,https://<ngrok-id>.ngrok.io/api/clerk/webhook
). - Choose
user.created
andsession.created
events and save.
- Copy the following Clerk keys to the
.env
file:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
- Create an Aurinko.io account and a new application.
- Copy the following keys to the
.env
file:
AURINKO_CLIENT_ID=
AURINKO_CLIENT_SECRET=
AURINKO_SIGNING_SECRET=
- Go to the Google Cloud Console.
- Create a new project.
- Enable the Gmail API:
- Go to APIs & Services > Enable APIs and Services.
- Enable the Gmail API.
- Configure OAuth Consent Screen:
- Under Scopes, choose all Gmail scopes.
- Add the following to Authorized Redirect URIs:
https://api.aurinko.io/v1/auth/callback
- Save the changes.
- Go to Aurinko settings:
- In Callback URL, add:
http://localhost:3000/api/aurinko/callback
- Add the Client ID and Client Secret in
Google OAuth
copy from your Google Cloud project.
- In Callback URL, add:
- Obtain an API key from OpenAI.
- Add it to the
.env
file:
OPENAI_API_KEY=
- Run the development server:
npm run dev
If you encounter any issues, feel free to consult the documentation or reach out for support. Happy coding! 🚀 Your contributions are highly appreciated! Together, we can make this project better. 🎉