- Svelte 46.5%
- Go 32.8%
- TypeScript 9.3%
- CSS 8.2%
- Shell 1.5%
- Other 1.7%
Add further details to the planned features, to better reflect the ✨starry✨ naming scheme fixes #8 Add a note for nix-direnv users |
||
|---|---|---|
| backend | ||
| packaging/arch | ||
| src | ||
| static | ||
| .envrc | ||
| .gitignore | ||
| .npmrc | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .prettierrc | ||
| bun.lock | ||
| components.json | ||
| flake.lock | ||
| flake.nix | ||
| package.json | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
Dish
Dish is an open source chatting app made with federation in mind (using a protocol made from scratch or an already existing one (not matrix), currently undecided), where users can join Galaxies and chat with others in private messages or in groups named stars !
Planned features
- Rooms (Channels)
- Stars (Servers)
- DMs (Private messages)
- Profiles
- Private Groups
- Federation (Instances are called Galaxies, since they host multiple stars)
- Encryption
Running
Important
This project is VERY WIP, and as such no release build or instructions are provided. If you know what you are doing you should be able to build the project without any help, and as such understand that this is not yet supported
Note
For users of nix-direnv, the project provides all the necessary tooling for development, being go and bun, make sure to allow direnv to load this project with
direnv allow.
frontend
Note
This project is managed by bun
Installing dependencies
Before running being able to run the project, you will need to install bun and the project dependencies as follows:
bun i
Running the frontend
A development server can now be spun to view your changes in real time as so:
bun run dev --open
Tip
You can add
--hostto expose your development server to all your network interfaces (e.g this could be LAN and tailscale)
backend
Now that we have a frontend we will need to build and run the API to be able to store, read messages and manage authentication.
Building
Important
Make sure you have go properly setup, this project has been tested with go1.24.5.
- In a new terminal window, change directory to the backend one:
cd backend - Run the API :
go run .
🎉 Congratulations ! 🎉 You now have a working development environment !