ModManager is REST Web API and SPA which allow users to manage their games and mods library.
For backend Express is used, while Angular is used for frontend.
To use and develop ModManager you have to install Node.js which includes Node Package Manager. Also, you should install Angular especially Angular CLI.
Also, you should have installed MongoDB database on your localhost or use cloud etc. ModManager uses MongoDB for storing all the data (users, games, mods).
To check that you have node installed you can use command:
node --version
To check that you have npm installed you can use command:
npm --version
To check that you have Angular CLI installed you can use command:
ng --version
Make sure you follow official instructions for installing mentioned tools.
After that you can clone or download ModManager repository (master branch), then go to root directory:
cd modmanager
and run command:
npm install
Next, you should navigate to client application directory:
cd ModManagerClient
and also run command:
npm install
Next step is creating config.env
file where you can store environment variables. Put config.env
file inside modmanager
directory (this directory level where src
directory or package.json
file is located).
To run backend application you have to prepare database connection string, port and also JSON Web Token's stuff. Example config.env
file can look like this:
NODE_ENV=development
PORT=8080
DATABASE_LOCAL=mongodb:https://localhost:27017/modmanager
JWT_SECRET=<YOUR SECRET KEY>
JWT_EXPIRES_IN=1d
Keep in mind that JWT_SECRET
should contain preferably long and random string.
If there are not any errors you can run backend and frontend applications. To run backend application (Express) go to root directory:
cd modmanager
and run command:
npm run dev
To run frontend application (Angular) go to client application directory:
cd ModManagerClient
and run command:
ng serve --open
As you can see all of these commands are standard Node.js and Angular commands. For more detailed information you can visit official websites of these tools.
ModManager can be used as simple games and mods web application aggregator which allows users to store and manage information about their favourites games and mods. Users can create new accounts, add basic information about games and mods for these games. Data is stored in NoSQL document database (in this case MongoDB).
The main features are:
- Register and Login User,
- Two types of user accounts (roles): Admin and User,
- Protected views (routes) which can be only accessed by logged in Users,
- Page Not Found view,
- Read Games list,
- Read Mods list,
- Create new Game,
- Update existing Game,
- Delete existing Game with all associated Mods,
- Create new Mod if there is at least 1 game available,
- Update existing Mod,
- Delete existing Mod,
- Forms validation and so on...
The project is playground for learning Express and Angular framework fundamentals. The project was also created because of the course at the university. This is not perfect and ready-to-use application, it needs code refactoring and many improvements but by developing ModManager I learnt fundamentals of mentioned frameworks.
You can get started with ModManager and find out more by using these links:
ModManager (this repository) by Paweł Kudzia.
Express by all its contributors.
The ModManager is open-sourced software licensed under the MIT license.
Do you like ModManger? You could give this repo a start ⭐ ⬆️.