rexx
is a Cinema Management System built using Node.js and framework-agnostic design.
This is a concept project and a learning environment where I'm experimenting with Domain-Driven Design (DDD), Hexagonal Architecture, and advanced software engineering practices.
Follow these instructions to set up and run the project on your local machine for development and testing purposes.
Before you begin, ensure you have following installed on your system:
- Node.js
- NPM
- Docker (for MongoDB setup)
- Docker Compose (for managing containers)
Checkout the project from GitHub.
git clone git@github.com:ademozay/rexx.git
cd rexx
Create a .env
file by copying the .env.example
file..
cp .env.example .env
Install the dependencies.
npm install
A MongoDB instance is required to run the application. You can run the following command to start the MongoDB container.
# Run mongodb-setup only once. No need to run it again.
docker compose up mongodb mongodb-setup -d
npm run start
npm run test:unit
A MongoDB instance is required to run the tests. You can run the following command to start the MongoDB container for testing.
# Run mongodb-test-setup only once. No need to run it again.
docker compose up mongodb-test mongodb-test-setup -d
You can run the tests with the following command.
npm run test:e2e