A modern web application that uses AI to generate emails and messages based on user-provided context, tone, and details. Built with Next.js and integrated with the Groq API for powerful language generation.
- AI-Powered Message Generation: Generates emails and messages using the Groq API.
- Customizable Tone: Users can select the desired tone (formal, informal, friendly, urgent).
- Context and Details Input: Allows users to provide context and key details to guide the message generation.
- Modern User Interface: Clean and intuitive user interface with smooth animations and transitions.
- Dark Mode Support: Automatic dark mode detection with manual toggle option.
- Responsive Design: Fully responsive layout that works on all devices.
- Error Handling: Robust error handling with user-friendly error messages.
- Loading States: Beautiful loading animations and transitions.
- Accessibility: Built with accessibility in mind, following WCAG guidelines.
- Next.js: React framework for building server-rendered and statically generated web applications.
- React: JavaScript library for building user interfaces.
- Groq API: Powerful API for language generation.
- TypeScript: Superset of JavaScript that adds static typing.
- Tailwind CSS: Utility-first CSS framework.
- Framer Motion: Production-ready motion library for React.
- Netlify: Platform for deploying and hosting web applications.
- Git: Version control system.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (LTS version recommended)
- npm or Yarn
- Git
- A Groq API key (You'll need a Groq account to obtain one)
-
Clone the repository:
git clone https://github.com/DSrinivasKarthik/MessageCraft.git
-
Navigate to the project directory:
cd messagecraft
-
Install dependencies:
npm install # or yarn install
Create a .env.local
file in the root of your project and add your Groq API key:
GROQ_API_KEY=your_actual_groq_api_key
Important: Do not commit .env.local
to your Git repository. It's already included in the .gitignore
file.
-
Start the development server:
npm run dev # or yarn dev
-
Open your browser and navigate to http://localhost:3000.
- Branching: Use feature branches for new features or bug fixes:
git checkout -b feature/new-feature
- Committing: Use clear and concise commit messages following the Conventional Commits standard.
- Pull Requests: Create pull requests for code reviews before merging changes into the
main
branch.
- ✅ Basic Next.js setup with TypeScript
- ✅ Groq API integration
- ✅ Modern UI implementation with animations
- ✅ Dark mode support
- ✅ Responsive design
- ✅ Loading states and transitions
- ✅ Error handling
- ✅ Environment configuration
- Implement message history storage
- Add message templates feature
- Implement message categories
- Add support for multiple languages
- Implement message length control
- Add message preview functionality
- Add dark mode support
- Implement responsive design for mobile devices
- Add loading animations
- Improve error message display
- Add success notifications
- Implement keyboard shortcuts
- Add unit tests
- Add integration tests
- Implement proper logging
- Add performance monitoring
- Implement proper TypeScript types
- Add API rate limiting
- Implement proper caching strategy
- Add API documentation
- Create user guide
- Add contribution guidelines
- Create architecture documentation
- Add deployment documentation
- Implement proper input validation
- Add rate limiting
- Implement proper error handling
- Add security headers
- Implement proper API key management
- Optimize bundle size
- Implement proper code splitting
- Add performance monitoring
- Optimize API calls
- Implement proper caching
The frontend of this application is designed to be deployed on Netlify.
- Create a Netlify account and link it to your GitHub repository.
- Netlify will automatically deploy your site on pushes to the
main
branch.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.