Skip to content

divyang-chhantbar/flow-post

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

80 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Flow-Post

Flow-Post is a broadcast email service designed to help users send emails efficiently by categorizing recipients into groups. Users can compose emails and send them to entire categories, avoiding repetitive email writing.

โœจ Features

  • User Authentication ๐Ÿ”

    • โœ… Sign up and email verification
    • ๐Ÿ”œ (Future) Two-factor authentication (2FA)
    • ๐Ÿ”œ (Future) Role-based access control (User/Admin)
    • ๐Ÿ”œ (Future) Admins can send unlimited emails via Stripe subscription
  • Recipient & Category Management ๐Ÿ“‚

    • ๐Ÿท๏ธ Create categories to organize recipients
    • ๐Ÿ“‹ Add recipients (name, email, category assignment)
    • ๐Ÿ“ข Categories function like WhatsApp broadcast lists
  • Email Composition & Sending โœ‰๏ธ

    • ๐Ÿ“ฉ Select categories to send emails to all recipients within them
    • ๐Ÿ“ค Emails are sent via Gmail SMTP with OAuth authentication
    • ๐Ÿ‘ค Each user sends emails from their own Gmail account
  • Dashboard UI ๐Ÿ–ฅ๏ธ

    • ๐Ÿ“‘ Sidebar with categories & recipients, inbox, and sent emails
    • ๐Ÿ“ Email composer for drafting and sending emails
    • ๐Ÿ“ฌ Sent Emails & Inbox (Upcoming feature)

๐Ÿ› ๏ธ Tech Stack

Frontend:

  • โš›๏ธ Next.js - Framework for React-based UI development
  • ๐ŸŽจ ShadCN & Aceternity UI - For styling and UI components
  • ๐Ÿ” NextAuth.js - Authentication & session management
  • ๐Ÿ”„ Axios - API requests

Backend:

  • ๐Ÿ—๏ธ Node.js & Express - Backend framework
  • ๐Ÿ—„๏ธ MongoDB - Database for storing users, categories, and recipients
  • ๐Ÿ“ง Nodemailer - SMTP email delivery
  • ๐Ÿ“ฉ SendGrid - Alternative email delivery option

๐Ÿ“Œ Installation

Prerequisites โš™๏ธ

  • Node.js (v18+)
  • MongoDB (local or cloud-based like MongoDB Atlas)
  • Gmail Developer OAuth Credentials (for SMTP authentication)

Steps ๐Ÿ“ฅ

  1. Clone the repository:
    git clone https://github.com/your-username/flow-post.git
    cd flow-post
  2. Install dependencies:
    npm install
  3. Set up environment variables in .env file:
    NEXTAUTH_SECRET=your_secret
    NEXTAUTH_URL=http://localhost:3000
    MONGODB_URI=your_mongo_db_connection
    SMTP_HOST=smtp.gmail.com
    SMTP_PORT=465
    SMTP_USER=your_gmail_address
    SMTP_PASS=your_gmail_app_password
  4. Run the development server:
    npm run dev
  5. Open http://localhost:3000 in your browser.

๐Ÿš€ Deployment

Frontend ๐ŸŒ

  • Deploy on Vercel
    vercel deploy

Backend ๐Ÿ–ฅ๏ธ

  • Deploy on Railway, Render, or DigitalOcean
    npm run start

๐Ÿ”ฎ Future Roadmap

  • ๐Ÿ”œ Role-based authentication (User/Admin)
  • ๐Ÿ”œ Two-factor authentication (2FA)
  • ๐Ÿ”œ Stripe subscription for unlimited emails
  • ๐Ÿ”œ Inbox feature for receiving replies
  • ๐Ÿ”œ Enhanced email tracking (open/click analytics)
  • ๐Ÿ”œ AI-powered email generation

๐Ÿค Contributing

Contributions are welcome! Feel free to open issues and pull requests.

๐Ÿ“œ License

MIT License

About

FlowPost โœ‰๏ธ๐Ÿš€: Send emails effortlessly to groups just like WhatsApp broadcasts! Create categories, add recipients, and send personalized emails in one click. Simple, fast, and efficient.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages