This project is a ticket management system consisting of two parts:
- Frontend — located in the
tickets-frontend
folder and built with React. - Backend — located in the
backend_ruby_on_rails
folder and built with Ruby on Rails. Docker and Docker Compose are used for easy setup and deployment.
To work with this project, you will need to install the following tools:
- Docker
- Docker Compose
- Node.js and npm (for local frontend development)
-
Navigate to the
backend_ruby_on_rails
directory:cd backend_ruby_on_rails
-
Start Docker Compose to build and run all necessary containers:
docker-compose up --build
docker compose run --rm booking_server bash rails db:create rails db:migrate
docker compose run --rm gate_server bash rails db:create rails db:migrate
docker compose run --rm user_server bash rails db:create rails db:migrate
docker compose run --rm ticket_server bash rails db:create rails db:migrate rails db:seed
-
Once the backend is successfully launched, it will be accessible at
http://localhost:3000
.
-
Navigate to the
tickets-frontend
directory:cd tickets-frontend
-
Install the necessary dependencies:
npm install
-
Start the frontend server:
npm start
-
Once the frontend is successfully launched, it will be accessible at
http://localhost:3000
.
-
Stop all containers:
docker-compose down
-
Restart containers:
docker-compose restart
-
View logs:
docker-compose logs -f
-
Build the project:
npm run build
-
Run tests:
npm test