Skip to content

UmangAgarwal257/Donezo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Donezo

A modern web application that sends personalized weekly review emails in the style of tech visionaries like Elon Musk and Steve Jobs.

✨ Features

  • Stylized Email Templates
    • Elon Musk style - Direct and results-focused
    • Steve Jobs style - Visionary and product-focused
    • Weekly check-ins and reminders

🛠️ Tech Stack

Frontend

  • Next.js 14 - React framework with App Router
  • TypeScript - Type safety and better developer experience
  • Tailwind CSS - Utility-first styling

Backend

  • Express.js - Web framework
  • MongoDB - Database
  • Resend - Modern email delivery
  • Node-cron - Email scheduling

🚀 Getting Started

Prerequisites

  • Node.js 14 or higher
  • MongoDB
  • Resend API key

Installation

  1. Clone the repository
git clone <repository-url>
cd weekly-review-email
  1. Install backend dependencies
cd server
npm install
  1. Configure backend environment Create a .env file in the server directory:
PORT=5000
MONGODB_URI=your_mongodb_uri
RESEND_API_KEY=your_resend_api_key
  1. Install frontend dependencies
cd ../frontend
npm install
  1. Configure frontend environment Create a .env.local file in the frontend directory:
NEXT_PUBLIC_API_URL=http://localhost:5000/api

Running the Application

  1. Start the backend server
cd server
npm run dev
  1. Start the frontend development server
cd frontend
npm run dev

The application will be available at http://localhost:3000

📧 Email Templates

Weekly Check Template

  • Subject: "Weekly Review: What did you accomplish?"
  • Customized greeting with recipient's name
  • Available in both Elon Musk and Steve Jobs styles

Reminder Template

  • Subject: "Quick Check-in"
  • More casual tone for follow-ups
  • Available in both leadership styles

🔍 API Endpoints

Test Email

  • POST /api/test/send-email
{
  "style": "elonMusk",
  "type": "weeklyCheck",
  "recipient": {
    "email": "[email protected]",
    "name": "User Name"
  }
}

Email Logs

  • GET /api/logs - Get all email logs
  • GET /api/logs/recipient/:recipientId - Get logs for specific recipient

📱 Frontend Pages

Landing Page

  • Modern, animated hero section
  • Quick access to email testing
  • Social links and project information

Email Testing Interface

  • Email template selection
  • Recipient information input
  • Instant feedback on email status

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

  • Inspired by leadership styles of tech visionaries
  • Built with modern web technologies
  • Designed for simplicity and effectiveness