- Rails 7.1
- Ruby 3.1.1.
- MySQL
- Redis
- Elasticsearch
- Sidekiq
- Docker
This is an API-only Chat Apps System. The system allows creating new applications, each defined by a unique token. Each application has many chats and each chat has many messages. Searching messages is done using Elastic Search. Background jobs have been utilized to handle the creation of chats/messages and updating counter values. This app is containerized, so you can run 'docker-compose up' and you're free to go. A postman collection is uploaded to the repo including the RESTful endpoints provided.
Using Docker
- Install Docker on your machine.
- Clone the repository:
git clone <repository_url> - Navigate to the project directory:
cd chat-apps-system - Build Docker image:
docker-compose build - Start the app containers:
docker-compose up - Now, you have access to the app in your web browser at
http://localhost:3000
On Localhost
- Ensure Ruby (>= 3.1.1) and MySQL are installed on your machine.
- Clone the repository:
git clone <repository_url> - Navigate to the project directory:
cd chat-apps-system - Install dependencies:
bundle install - Set up the database:
rails db:create && rails db:migrate - Start the Rails server:
rails s - Now, you have access to the app in your web browser at
http://localhost:3000