Nini Rogue Web is a project for play a Mini Rogue with
- Install Node.js and MongoDB
- Install Angular CLI:
npm i -g @angular/cli
- From project root folder install all the dependencies:
npm i
npm run dev
: [concurrently]
A window will automatically open at localhost:4200. Angular and Express files are being watched. Any change automatically creates a new bundle, restart Express server and reload your browser.
npm run prod
: run the project with a production bundle listening at localhost:3000
- Build frontend:
npm run builddev
for dev ornpm run build
for prod - Build backend:
npm run predev
- Run MongoDB:
mongod
- Run the app:
npm start
sudo docker-compose up
- Go to localhost:3000
- Create a EC2 Linux machine on AWS
- Edit the EC2 Security Group and add TCP port
3000
as an Inbound rule for Source0.0.0.0/0
- Clone this repo into the EC2 machine
- If you use a remote MongoDB instance, edit
.env
file - Run
npm ci
- Run
npm run build
- Run
npm start
- The app is now running and listening on port 3000
- You can now visit the public IP of your AWS EC2 followed by the port, eg:
12.34.56.78:3000
- Tip: use pm2 to run the app instead of
npm start
, eg:pm2 start dist/server/app.js
Run ng test
to execute the frontend unit tests via Karma.
Run npm run testbe
to execute the backend tests via Jest (it requires mongod
already running).
Run npm run lint
to execute Angular ESLint, HTML linting and SASS linting.