Federated forge client web app
20a44974d5
This way it is easier to inspect the design implementation. Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de> |
||
---|---|---|
.vscode | ||
src | ||
static | ||
tests | ||
.eslintignore | ||
.eslintrc.cjs | ||
.gitignore | ||
.node-version | ||
.npmrc | ||
.prettierignore | ||
.prettierrc | ||
COPYING | ||
package-lock.json | ||
package.json | ||
playwright.config.ts | ||
postcss.config.cjs | ||
README.md | ||
svelte.config.js | ||
tailwind.config.js | ||
tsconfig.json | ||
vite.config.ts | ||
vitest.config.ts |
Anvil
/!\ work in progress!
Anvil is a web client app for interacting with federated forges. It's meant to allow you to:
- Create an account of a federated forge
- Browse software projects
- Create and manage your software projects
- Create and manage teams and organizations
- Participate and interact with software projects: Repo, issues, PRs, CI, etc. etc.
It's meant to be deployed in 3 ways:
- Tauri app, packaged with Flatpak, that you can install on your desktop
- Independent fully-client-side hosted app you can access using a web browser and connect to any forge (we will probably host one on Anvil's website for convenient outreach, but anyone can host on their server)
- Hosted app served by federated forge servers as their default UI, supporting both multi-page mode with pre-rendered pages and regular single-page mode
Status (May 2023): Implementation is in very early initial stages.
Tech stack:
- SvelteKit
- TypeScript
- Tailwind
- Skeleton.dev
Soon also:
- Tauri
- ActivityPub
- ForgeFed
Developing
Install NodeJS. Recommended method: FNM.
Install dependencies:
npm install
Launch development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Quick overview of the structure of the codebase:
This repo was started via npm create skeleton-app@latest
with the "Welcome"
template.
More components can be added using
create-svelte
.
Building
We haven't yet installed adapters for the target environments. Coming soon.
To create a production version of the app:
npm run build
To preview the production build:
npm run preview
Software freedoms (a.k.a license)
GNU AGPL v3 or later. For the legal detail, see COPYING
.