Overview
View Source🚧 Under construction 🚧
This project is a work in progress, and we're building it in public. DO NOT USE IT. We'll update this notice once the features described here are available for production use.
Zoonk is a white-label platform for building interactive courses. You can create content manually or use LLMs to generate it from a topic or your own documents. We also offer a REST API for seamless integration with other systems.
Our tech stack
- Programming language: Elixir
- Framework: Phoenix
- Database: PostgreSQL, Ecto
- Frontend: LiveView, Tailwind CSS
- AI: OpenAI, Black Forest Labs, Together AI
- Deployment: Fly.io
- File storage: Tigris
- Emails: Resend, Swoosh
- Payments: Stripe
- Background jobs: Oban
- Translations: Gettext
- Monitoring: AppSignal
- Testing: ExUnit
- Continuous integration: GitHub Actions
- Documentation: ex_doc
- Code quality: Credo, mix format, Prettier, styler
Directory structure
.github
– GitHub-related files, including CI workflows and Copilot instructions.assets
– CSS and JavaScript files/libraries.config
– Configuration files fordev
,test
,runtime
, andprod
environments.lib
– Core application code, covering both business logic and the web interface.zoonk
– Business logic, schemas, and contexts.zoonk_web
– Web interface, including API and frontend.components
– LiveView (Phoenix.LiveComponent
) and function components (Phoenix.Component
).controllers
– API and web controllers.live
– Pages usingPhoenix.LiveView
.
priv
– Static files, migrations, seeds, and translations.test
– Application tests.