LIVE SITE
TOOLS
Golang
Python
Next.js
Redis
Redux
Firestore
Docker
EC2
TEAM MEMBERSAdel Pazoki, Aniq Premji, Larissa Troper
TIMELINEMarch - April 2024
PERSONAL CONTRIBUTIONSThe aspects of the project I was primarily responsible for included the development of the Golang email service and the Next.js frontend, including the web design and the implementation of Reddit API (login) & Firestore DB endpoints.
📋 CONTEXTProject Overview
Our team developed a service that allows users to stay informed with their online communities on Reddit by providing daily summaries of the hot posts from their subreddits. These summaries are aggregrated together and distributed as a newsletter to users' inboxes.
⚙️ IMPLEMENTATION DETAILSFrontendOur Next.js frontend allows users to sign up via Reddit's API, granting us access to their subscribed communities. We then prompt new users to provide their email addresses for newsletter delivery. The frontend allows for users to manage their subreddit subscriptions for tailored content, updating in the Firestore DB.BackendOur Golang backend consists of two main services: the Reddit Post Fetcher and the email service. The Reddit Post Fetcher is reponsible for retrieving the hot posts for the unionized list of subreddits that our users have subscribed to. Leveraging the GPT API, we developed a service in Python that summarizes the posts from each subreddit to be used in the newsletters. Once the summaries are prepared, our email service crafts personalized emails tailored to each user and dispatches them accordingly. Inter-service communication is orchestrated through a Redis queue, ensuring seamless processing. The entire workflow is automated through a Cron job, guaranteeing timely delivery of newsletters to users' inboxes.