Projects
Top-level containers for blogs, announcements, and settings.
Projects are the top-level container in Ezzy. Each project belongs to a user and holds blogs, announcements, notifications, promo codes, email broadcast recipients, and settings.
Data model
Stored in Convex table projects. Key fields:
- userId — Owner (Convex Auth user ID).
- name — Display name.
- domain — Optional domain (e.g. for linking to a site).
- description — Optional; used as context for AI features.
- aiBlogCronEnabled, aiBlogsPerDay, aiBlogIdeas, aiBlogModel — Optional AI blog cron settings.
Convex API (convex/projects.ts)
- listProjects — All projects for the current user.
- createProject — Create project (name, optional domain, description).
- searchProjects — Filter by search term (name/domain).
- getProject — Get one project by ID (ownership checked).
- updateProject — Update name, domain, description, AI settings.
- deleteProject — Delete project (and related data handled by app).
App usage
From Projects you list, create, and open projects. Opening a project shows the project sidebar with Blog, Announcement, Notification, Promo, Email broadcast, and Project settings.