Hello ๐ You're at the root of a monorepo.
This repo contains all of the code for my personal reading highlight system. You can read more about this project in this blog post.
โโโ aws # Email importer and AI/LLM features
โโโ firebase # Database and backend
โโโ packages # Reading export converters
โ โโโ highlights-email-to-json
โ โโโ kindle-clippings-to-json
โ โโโ kindle-email-to-json
โ โโโ safari-books-csv-to-json
โโโ web # Frontend
- Node.js 18+
- Python 3.10+
- poetry
To setup developer tooling, like linting and formatting:
make init
Then, each individual directory has its own README with setup instructions.
C4Context
Person(me, "Me")
Boundary(aws, "AWS") {
System(ai, "Search & Summarization", "S3, Lambda")
System(email, "Email importer", "SES, S3, Lambda")
}
Boundary(vercel, "Vercel") {
System(web, "Web app", "Next.js")
}
Boundary(google, "Firebase") {
SystemDb(db, "Database", "Firestore")
System(functions, "Data enricher", "Cloud Functions")
System(api, "API", "Cloud Functions")
}
System(ga, "Google Analytics")
Rel(me, email, "Emails export")
Rel(email, db, "Creates records")
Rel(api, db, "Reads")
Rel(web, api, "Get volumes and highlights")
Rel(web, ai, "Search")
Rel(web, ga, "Track")
BiRel(db, functions, "Triggers updates")
UpdateRelStyle(db, functions, $offsetX="-45", $offsetY="-20")
UpdateLayoutConfig($c4ShapeInRow="4", $c4BoundaryInRow="4")