36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
|
|
---
|
||
|
|
description: "Core project memory, architecture, and guidelines for the emailservice."
|
||
|
|
trigger: always_on
|
||
|
|
---
|
||
|
|
|
||
|
|
# Email Service: Project Context & Memory
|
||
|
|
|
||
|
|
This file serves as the core memory for the `emailservice` project. It contains our understanding of the project's architecture, technologies, and guidelines. The agent will read this file automatically to regain context.
|
||
|
|
|
||
|
|
## Project Overview
|
||
|
|
This project is an Email Service designed for an e-commerce website using a microservices architecture. It acts as a centralized, reusable service that other internal services can call (using an API key for authentication).
|
||
|
|
Key capabilities include:
|
||
|
|
1. **Sending emails** on behalf of other services (e.g., User Verification, Password Resets, Promotional Campaigns).
|
||
|
|
2. **Reading/fetching inbox emails** based on specific filters.
|
||
|
|
|
||
|
|
**Architecture Flow:**
|
||
|
|
```text
|
||
|
|
[Calling Service (e.g., Website)] --(API call with key)--> [EmailService] --(Send/Read)--> [Internet/Email Provider]
|
||
|
|
```
|
||
|
|
|
||
|
|
## Tech Stack
|
||
|
|
- **Framework**: Django (Python) - Full-stack (Backend for APIs, Frontend for Admin/Dashboard).
|
||
|
|
- **API**: Django REST Framework (DRF) for API key authentication and email endpoints.
|
||
|
|
- **Database**: SQLite (default for development) or PostgreSQL (for production).
|
||
|
|
- **Email Protocol**: SMTP for sending, IMAP for reading (or 3rd-party integrations as needed).
|
||
|
|
|
||
|
|
## Architecture & Design Decisions
|
||
|
|
- *(Add any major architectural decisions here as the project evolves)*
|
||
|
|
|
||
|
|
## Agent Guidelines
|
||
|
|
- Focus on clean, maintainable code.
|
||
|
|
- *(Add specific rules for the agent here, e.g., "Always write unit tests for new routes", "Use standard logging")*
|
||
|
|
|
||
|
|
---
|
||
|
|
> **Note to user:** You can manually edit this file anytime to update my understanding of the project, or use the `/learn` command in chat to have me update my rules automatically!
|