https://github.com/momentum-mod/website
Momentum Mod's main website.
https://github.com/momentum-mod/website
angular api frontend
Last synced: 2 months ago
JSON representation
Momentum Mod's main website.
- Host: GitHub
- URL: https://github.com/momentum-mod/website
- Owner: momentum-mod
- License: mit
- Created: 2018-09-06T19:59:48.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-01-16T22:01:23.000Z (2 months ago)
- Last Synced: 2026-01-17T11:11:18.311Z (2 months ago)
- Topics: angular, api, frontend
- Language: TypeScript
- Homepage: https://momentum-mod.org
- Size: 77.1 MB
- Stars: 66
- Watchers: 13
- Forks: 68
- Open Issues: 74
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

> _Momentum Mod is a standalone game built on the Source Engine, aiming to
> centralize movement gamemodes found in CS:S, CS:GO, and TF2._
# Introduction
This is the repository for the major web systems used by
[Momentum Mod](https://momentum-mod.org).
Its central components are the web frontend and the HTTP backend. The frontend
is a dashboard site that acts as a central hub for and an extension to the
[game client](https://github.com/momentum-mod/game), allowing players to log in
via (OpenID), where they can see edit their profile, submit maps, see additional
statistics, and more.
The backend of the website is a REST HTTP API used primarily by the game client
and frontend, handling database and file storage, and providing much of Momentum
Mod's core functionality, such as map uploads/downloads, run submission/viewing,
and stats congregation/filtering.
Additionally, the repository houses the _Momentum Man_ (internal) Discord bot
used in the Momentum Mod Discord server, and in the future also an external
Discord bot that other servers can use.
# Architecture
The vast majority of the codebase is written in
[Typescript](https://www.typescriptlang.org/).
The frontend runs on [Angular](https://angular.io). We use
[Tailwind](https://tailwindcss.com/) for most styling,
[PrimeNG](https://primeng.org/) for some components.
The backend runs on [NodeJS](https://nodejs.org/), with
- [NestJS](https://nestjs.com/): handling architecture and routing,
- [Fastify](https://www.fastify.io/): the underlying HTTP server,
- [Prisma](https://www.prisma.io/): an ORM,
- [Postgres](https://www.postgresql.org/): the main SQL database
- [Valkey](https://valkey.io/): in-memory database
This repo is a monorepo, using [Nx](https://nx.dev) for organization and
tooling. Application code (such as frontend/backend) lives in respective
directories in `apps/`, and anything shared between applications lives in
`libs/`.
We use npm as our package manager.
# Contributing
Momentum Mod is developed entirely by volunteers, so we're always on the lookout
for more contributors! If you want to get involved, we highly recommend joining
our [Discord](https://discord.gg/momentummod) and letting us know. Whilst you
_could_ just work off of the open issues board, it's much easier for us to
organize if we know who is working on what, and can make sure there's no
overlap.
To get started check out the
[setup guide](https://github.com/momentum-mod/website/wiki/Setup), as well as
the rest of the [wiki](https://github.com/momentum-mod/website/wiki). The
majority of information about this repo lives on the wiki!
Please see our
[contribution guidelines](https://github.com/momentum-mod/website/wiki/Contribution-Guidelines)
before making a pull request.
# Bug Reports
If you've found a problem with the website, please
[open an issue](https://github.com/momentum-mod/website/issues/new/choose)!