1
0
Fork
You've already forked aw3
0
forked from ampmod/aw3
Website for AmpMod
  • Svelte 56.3%
  • TypeScript 32.7%
  • mdsvex 4.5%
  • MDX 3.5%
  • CSS 1.1%
  • Other 1.9%
Find a file
amp f863008082 feat: Scratch account linking
Thanks to unconstructable13 for letting me link his account
to my dev server to test this.
2026年04月26日 20:12:02 +01:00
.storybook style: new prettier config 2026年02月06日 00:16:20 +00:00
.woodpecker chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
drizzle feat: improve db schema 2025年11月29日 12:46:11 +00:00
e2e style: new prettier config 2026年02月06日 00:16:20 +00:00
messages feat: improve account system 2026年03月21日 22:52:10 +00:00
project.inlang fix: don't hardcode formatted dates to en_US 2026年03月15日 22:19:18 +00:00
src feat: Scratch account linking 2026年04月26日 20:12:02 +01:00
static feat: random easter egg i thought of 2026年04月11日 01:32:17 +01:00
.dockerignore chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
.env.example chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
.eslintignore feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
.gitignore feat: profile pictures and groundwork for uploading 2026年02月07日 02:03:19 +00:00
.npmrc chore: initial commit 2025年09月23日 21:22:59 +01:00
.prettierignore feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
.prettierrc style: new prettier config 2026年02月06日 00:16:20 +00:00
COPYING chore!: license under AGPLv3 or later 2025年09月23日 21:27:22 +01:00
docker-compose.yml chore(deps): update valkey/valkey docker tag to v9 2026年04月18日 19:05:32 +00:00
Dockerfile chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
drizzle.config.ts style: new prettier config 2026年02月06日 00:16:20 +00:00
eslint.config.js feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
garage.toml feat: start working on the actual project sharing system 2026年04月02日 12:36:41 +01:00
package.json feat: WIP about page 2026年04月17日 22:34:29 +01:00
playwright.config.ts style: new prettier config 2026年02月06日 00:16:20 +00:00
pnpm-lock.yaml feat: improve embed 2026年04月18日 13:36:59 +01:00
pnpm-workspace.yaml chore: use pnpm instead of bun 2025年12月28日 23:05:32 +00:00
README.md docs: update readme 2026年02月12日 21:08:09 +00:00
renovate.json5 style: new prettier config 2026年02月06日 00:16:20 +00:00
svelte.config.js feat: notifications 2026年04月11日 17:46:15 +01:00
tsconfig.json style: new prettier config 2026年02月06日 00:16:20 +00:00
vite.config.ts feat: project sharing 2026年04月03日 17:44:49 +01:00
vitest-setup-client.ts chore: initial commit 2025年09月23日 21:22:59 +01:00

aw3

aw3 is the software behind (almost) everything on the main AmpMod website. We gave it that strange name because this is the 3rd attempt at making an AmpMod website. The first attempt was this sloppily thrown together PHP server and the second was ampmod-web, which went well until the git history was ruined and poor decisions started to be made after we added a new contributor.

Stack:

  • SvelteKit for integrating the backend and frontend. Because of this, we use Svelte for the frontend.
  • TypeScript for scripting.
  • pnpm for package management.
  • Drizzle ORM and PostgreSQL for the database.
  • Paraglide for translations.

What aw3 does

  • Store projects and their assets
  • Host pages for projects and users
  • Host pages about AmpMod
  • Provide APIs for the above
  • Administrating the aw3 instance

What aw3 won't do in the near future

  • Commenting on projects (it most likely never will - it's a nightmare to moderate for a small community with only a few admins)
  • Forums, wiki, manual, extension gallery (hosted separately)
  • Editor (we have links to paths such as /projects/editor and /settings/addons but we expect you to reverse proxy those - see below)

What we plan for aw3 to do

  • Studios

aw3 is purpose-built

aw3 is designed specifically for official AmpMod hosting. It is not built to be a general platform for hosting projects. Using it for a mod of AmpMod or its upstream projects would require heavy modification to have it under your branding, as unlike AmpMod itself, aw3 doesn't use a set-and-forget branding module.

Dev setup

pnpm install
pnpm dev

Database additional step

To run the database, you will need Docker. Then, you can run pnpm db:start in the root of your copy of aw3. It's good to run this in a separate terminal, and run pnpm db:push every time you update the schema.

Running in production

First, you will want to run pnpm run build.

Then, to serve the frontend, run node ./build. To set up the database, run the command above.

For the official AmpMod server, we use Docker and a Woodpecker CI workflow that builds aw3 as a container that can run on the server painlessly.

To set up links to AmpMod itself, such as /projects/editor, you need to use a reverse proxy to route those paths to AmpMod. aw3 previously hosted these routes by itself, but it was a bit clunky so we now expect that you do it yourself.

Licensing

aw3 is licenced under the AGPLv3 or at your option, any later version. See COPYING for more information.

Some files are taken from ampmod-web-front under the MIT licence, and the ampmod gui package under the GPLv3.