An AI-powered email newsletter administration system that lets content curators write, format, edit, schedule, and send newsletters. It provides analytics, subscriber segmentation, and recipient unsubscribe workflows.
frontend/: Next.js (React) administration interface and public subscriber pages.backend/: FastAPI (Python) web server containing business logic, database migrations, email dispatch, and LLM integrations.docs/: Detailed project design specs, including schema diagrams, deployment, and API contracts.
- Node.js 18+
- Python 3.10+
- SQLite or PostgreSQL
- Change directory to frontend:
cd frontend - Install dependencies:
npm install
- Set up environment:
cp .env.local.example .env.local
- Start dev server:
npm run dev
- Change directory to backend:
cd backend - Create virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment:
cp .env.example .env
- Run the server:
python -m uvicorn app.main:app --reload
The backend seeds a default admin user on startup if one does not already exist.
- Email:
curator@company.com - Password:
securepassword123
The frontend login UI currently uses mock authentication and will later be replaced by Microsoft Entra ID.
Refer to files in the docs/ directory: