Welcome to the frontend repository of AmazingMail, a cutting-edge email marketing platform built with Next.js. This repository contains the user interface and client-side logic for our powerful cold email system.
- 📊 Interactive Dashboard: Real-time overview of campaign performance and key metrics.
- 📧 Email Campaign Manager: Intuitive interface for creating, editing, and managing email campaigns.
- 🎨 Email Template Designer: Drag-and-drop editor for creating stunning, responsive email templates.
- 📈 Analytics Visualization: Beautiful charts and graphs for in-depth campaign analysis.
- 🔒 User Authentication: Secure login and user management system.
- 🌓 Dark Mode Support: Eye-friendly dark theme for comfortable usage in low-light environments.
- 📱 Responsive Design: Seamless experience across desktop, tablet, and mobile devices.
- Framework: Next.js 13+ (with App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: React Context API & SWR
- Authentication: NextAuth.js
- API Integration: Axios
- Charts: Recharts
- Form Handling: React Hook Form
- Testing: Jest & React Testing Library
- Node.js 14.0 or later
- npm or yarn
-
Clone the repository:
git clone https://github.com/amazingmail/frontend.git cd frontend
-
Install dependencies:
npm install # or yarn install
-
Set up environment variables: Create a
.env.local
file in the root directory and add the following:NEXT_PUBLIC_API_URL=http://localhost:5000/api NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Run the development server:
npm run dev # or yarn dev
-
Open http://localhost:3000 in your browser to see the application.
/
├── app/ # Next.js 13 App Router
│ ├── api/ # API routes
│ ├── (auth)/ # Authentication pages
│ ├── dashboard/ # Dashboard pages
│ ├── campaigns/ # Campaign management pages
│ └── templates/ # Email template pages
├── components/ # Reusable React components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions and services
├── styles/ # Global styles and Tailwind config
├── types/ # TypeScript type definitions
└── tests/ # Test files
To run the test suite:
npm test
# or
yarn test
npm run dev
: Start the development servernpm run build
: Build the production applicationnpm start
: Start the production servernpm run lint
: Run ESLintnpm run type-check
: Run TypeScript compiler check
We welcome contributions to AmazingMail! Please see our Contributing Guide for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the AmazingMail Team