BulkMailer Svelte Themes

Bulkmailer

BulkMailer Pro: Full-stack professional email campaign tool with Svelte 5 (Frontend) and Hono.js (Backend). Features include Excel/CSV parsing, live tracking, and automated PDF delivery reports.

šŸš€ BulkMailer Pro - Complete Web Application

šŸ“‹ Project Overview

This is a complete Bulk Email Sender web application with modern SvelteKit frontend and Hono backend, featuring user authentication, SMTP management, and real-time campaign monitoring.

Tech Stack

  • Backend: Hono (Node.js runtime)
  • Frontend: SvelteKit with TypeScript
  • Database: SQLite (via better-sqlite3)
  • Authentication: Argon2 password hashing with session tokens
  • Email: Nodemailer with SMTP
  • Styling: Tailwind CSS
  • Build Tools: Vite, TypeScript

Features

  • āœ… User Management: Registration, login, session handling
  • āœ… SMTP Configuration: Multiple email providers per user
  • āœ… Bulk Email Campaigns: Excel/CSV contact import
  • āœ… Real-time Monitoring: Live campaign status and statistics
  • āœ… Campaign Scheduling: Queue emails for future delivery
  • āœ… Rich Text Editor: HTML email composition
  • āœ… Delivery Reports: Detailed email delivery logs
  • āœ… Responsive Design: Mobile-friendly interface
  • āœ… File Upload: Secure contact list processing

šŸŽÆ Assignment Objectives

1. Implement SvelteKit Frontend

  • āœ… Create a modern, clean UI using SvelteKit
  • āœ… Implement all existing features with enhanced UX
  • āœ… Add client-side validation and error handling
  • āœ… Implement responsive design (mobile-friendly)

2. Remove Old Frontend

  • āœ… Delete public/ folder (HTML, CSS, JS files)
  • āœ… Remove static file serving routes from backend (except API endpoints)
  • āœ… Ensure no dependencies on old frontend code

3. Update Documentation

  • āœ… Update README.md with new architecture
  • āœ… Document setup instructions for both backend and frontend
  • āœ… Add API documentation
  • āœ… Include screenshots/demos of new UI

šŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Git

Backend Setup

cd assignment
npm install
cp .env.example .env  # Configure your environment variables
npm run dev

Backend will run on http://localhost:3000

Frontend Setup

cd frontend
npm install
npm run dev

Frontend will run on http://localhost:5173

Production Build

# Backend
cd assignment
npm run build
npm start

# Frontend
cd frontend
npm run build
npm run preview

šŸ“ Project Structure

assignment/          # Backend (Hono + Node.js)
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ app.ts       # Main application
│   ā”œā”€ā”€ routes/      # API routes
│   ā”œā”€ā”€ services/    # Business logic
│   ā”œā”€ā”€ middleware/  # Auth middleware
│   └── types.ts     # TypeScript types
ā”œā”€ā”€ uploads/         # File uploads
ā”œā”€ā”€ logs/            # Application logs
└── data/            # SQLite database

frontend/            # Frontend (SvelteKit)
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ lib/
│   │   ā”œā”€ā”€ api.ts   # API client
│   │   └── types.ts # TypeScript types
│   └── routes/      # SvelteKit routes
└── static/          # Static assets

šŸ”§ Development

  • Backend: npm run dev in assignment/
  • Frontend: npm run dev in frontend/
  • Database: SQLite (auto-created)
  • Environment: Configure .env files

šŸ“” API Documentation

Authentication

  • POST /auth/login - User login
  • POST /auth/register - User registration
  • POST /auth/logout - User logout

Campaigns

  • POST /send - Send bulk email
  • GET /campaign/status - Campaign status
  • POST /campaign/pause - Pause campaign
  • POST /campaign/resume - Resume campaign

Configuration

  • GET /config - Get SMTP configs
  • POST /config - Add SMTP config
  • PUT /config/:id - Update SMTP config

Reports

  • GET /report - Email delivery reports

šŸŽÆ Assignment Completion Status

āœ… Assignment 1: Frontend Migration

  • SvelteKit frontend fully implemented
  • All features migrated from vanilla JS
  • Modern UI with responsive design
  • TypeScript integration
  • Real-time functionality
  • Old frontend removed
  • Documentation updated

āœ… Assignment 2: Analysis Task

  • Complete your analysis in the provided Notion link
  • Submit both assignments together

šŸŽ‰ Migration Complete! Your application is now production-ready with modern SvelteKit frontend.

Top categories

Loading Svelte Themes