momentum-mod / website

Momentum Mod's main website.
https://momentum-mod.org
MIT License
58 stars 62 forks source link
angular api frontend

Momentum Mod Logo

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.

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, 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.

Architecture

The vast majority of the codebase is written in Typescript.

The frontend runs on Angular. We use Tailwind for most styling, PrimeNG for some components.

The backend runs on NodeJS, with

This repo is a monorepo, using Nx 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 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, as well as the rest of the wiki. The majority of information about this repo lives on the wiki!

Please see our contribution guidelines before making a pull request.

Bug Reports

If you've found a problem with the website, please open an issue!