This is monorepo for learnablemeta.com project.
If you're looking to use LearnableMeta:
- 📖 Installation guide: https://learnablemeta.com/about
- 💬 Need help? Join our Discord: https://discord.gg/AcXEWznYZe (#help-desk channel)
Even if you believe your issue is technical, please start with Discord support first.
Repo includes source code for the entire project: userscript, frontend and api services, discord bot, k8s cluster build and deployment configuratin. There isn't much developer documentation at this point as we've made the decision to OpenSource everything only recently.
Contributors are welcome, but if you are looking to implement breaking changes or plan a big feature we recommend to open a discussion on github or in discord first.
We started with a single SvelteKit fullstack service running on Cloudflare Workers, but SvelteKit's fullstack capabilities weren't as comprehensive as we needed, and Cloudflare KV had terrible latency. Eventually we split out frontend and API services - the frontend is supposed to fetch and modify data only through the API, but right now the transition isn't fully finished and the frontend is still hitting the database directly on some old pages.
- Frontend: SvelteKit 5, TypeScript, TailwindCSS 4
- Backend: Elysia.js (Bun runtime), PostgreSQL with Drizzle ORM
- Discord bot: rust using poise/serenity
- Deployment: Kubernetes with Flux GitOps