Real time chat application developed by the requirements listed in the follwing document
- Backend: Go
- Database: SQL (PostgreSQL)
- Frontend: ReactJS
- Containerization: Docker
- Orchestration: Docker Compose
The application consists of several services, each running in its own Docker container:
frontend
: The frontend service, built with React and served using NGINX.backend
: The backend service, built with Go.postgres
: The PostgreSQL database service.rabbitmq
: The RabbitMQ service, used for real-time messaging.
-
Ensure Docker and Docker Compose are installed on your machine.
- Visit the Docker website and download the appropriate Docker Desktop installer
- For Windows: Download Docker Desktop for Windows
- For Mac: Download Docker Desktop for Mac
- After installation, you can verify that Docker is installed correctly by opening a terminal and running the following command:
docker --version
- Visit the Docker website and download the appropriate Docker Desktop installer
-
Clone the repository
git clone https://github.com/johnnyCake1/chat-app
and navigate to the project directory
cd chat-app
-
Run the following command to build and start the application:
docker-compose up --build
-
Once the application is running, you can access the frontend at
http://localhost
. For the development environment, the backend is accessible athttp://localhost:8080
. All the requests to http://localhost will be proxied to the backend service by NGINX running in the frontend container.