Skip to content

Ayushb1234/Report-Scheduler-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 Daily Aixel Report System – Automated Metric & Email Reporting


Python FastAPI React PostgreSQL SMTP Scheduler

A Report scheduler Console is there where daily, weekly reporrts are being scheduled to send as per users format.

Highlights

  1. Built a reusable report console that previews metrics, renders HTML, and sends email reports on-demand or on a schedule.

  2. Frontend (React + Vite) provides timezone-aware date pickers, recipient loader, and HTML preview + send buttons.

  3. Backend (FastAPI) exposes endpoints to fetch metrics, compose templates, and send queued emails from live DB.

  4. Scheduling support (cron / APScheduler) to auto-populate timezone & recipients and run daily jobs per-org.

  5. Modular code organization for easy feature expansion (add new metrics, new templates, alternate mailers).

Features

Category Highlights
🔍 Metrics Preview Pull real-time data from DB based on date filter + org selection
🧠 Smart Email Rendering Generates production-ready HTML emails using Jinja templates
✉️ Email Sending System Manual send or scheduled email delivery with retry and logging
⚙️ Automation & Scheduling Supports timezone-aware recurring jobs (APScheduler/cron)
👥 Recipient Management Bulk add emails, auto-remove duplicates, org-level defaults
🧩 Modular Architecture Easy to extend with more metrics, templates, or providers

Tech Stack

Frontend

React (Vite)

Axios

Modern component UI with responsive layout & form controls

Backend

FastAPI

Jinja2

APScheduler (or cronjobs)

SQLAlchemy / DB integration

Database & Infra

PostgreSQL (configurable)

SMTP (SendGrid / SES / SMTP Relay)

Project Repo

📁 backend/
 ├─ app/
 │  ├─ controllers/       # API Routes
 │  ├─ domain/            # Business models 
 │  ├─ email/             # SMTP + HTML rendering + dispatch
 │  ├─ infrastructure/    # DB + queue integrations
 │  ├─ services/          # Core logic (metrics, scheduler)
 │  ├─ templates/         # Email HTML Templates (Jinja)
 │  └─ main.py            # FastAPI entrypoint

📁 frontend/
 ├─ src/
 │  ├─ api.js             # API bindings
 │  ├─ App.jsx            # Main UI Flow
 │  └─ main.jsx

Backend Setup


cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

ScreenShots of Project Work:


image image

About

A report scheduler Console is there where daily, weekly reporrts are being scheduled to send as per users format.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors