An open source example application build using the Astro Framework in combination with UI Libraries like React, Vue, Svelte and realtime technologies like Pusher.
The Idea behind this project was to showcase how a fully interactive Web Application can be build while having the benefits of server rendered content.
Anything but the package folder follows the project structure of a Astro project.
#package
The package folder hosts the logic for our frontend and backend.
Every package hosts their own subpackages that can be consumed but the backend package is treated differently here. It's subpackages can be consumed through the AppContainer found atpackage/backend/backend.ts
. This ensures that the Consumer (in this case the Astro Framework) has only one way of gaining access to the business logic and does not have to implement the interfaces itself.
git clone https://github.com/adnanbrq/astro-chat-example.git
pnpm i
.env.example
to .env
and update the variables.cp .env.example .env
Create a App on Pusher. You need to have an Account
Start the MySQL Database using the provided docker-compose config
docker compose up db
pnpm run dev