This project is a proof-of-concept email tracking tool. It uses a website-based composer to embed a tracking pixel into an email body. The backend is powered entirely by Supabase (Postgres Database and Edge Functions).
- Create a new project on Supabase.
- Create the
tracking_eventstable using the SQL Editor. - Initialize a local Supabase project using the CLI.
- Create the
trackEdge Function to log events and serve a pixel. - Create the
statusEdge Function to retrieve tracking data. - Deploy the Edge Functions to the Supabase project.
- Set up a basic React application using Vite.
- Build the main UI: Recipient, Subject, and Body fields.
- Integrate a rich text editor (e.g., React-Quill).
- Add the "Track this email" checkbox.
- Create a "Prepare Email" button and "Copy to Clipboard" functionality.
- Create a new Supabase Edge Function
prepare-emailto handle pixel injection logic. - Connect the frontend "Prepare Email" button to the
prepare-emailfunction. - Display the final HTML from the function to the user.
- Create a new page/component in the React app for the dashboard.
- Add a form to input an
email_idto check its status. - Fetch data from the
statusEdge Function and display the actions.
- Install and configure Cypress.
- Write a test script to simulate calling the deployed Supabase Functions and verifying the database state.