AshChat is a sophisticated web application designed to facilitate real-time communication between users. Leveraging the power of websockets, AshChat ensures seamless and instantaneous interaction between the server and clients. The application is developed using Node.js, JAVA, Elixir and React Native. This project is developed using microservices architecture and is divided into five services:
- Authentication Service
- Chat Service
- Translation Service
- Static Service
- Email Service
AshChat offers a robust chat room environment where users can engage in real-time conversations. Key features include:
- User Accounts: Each user has a personal and secure account.
- Real-Time Chat: Users can communicate with each other in real-time.
- Online Status: Users can see when their friends are online.
- Typing Indicators: Users can see when their friends are typing.
- Offline Status: Users can see when their friends are offline.
- Multilingual Support: Users can select their preferred language for communication.
- Translation: Messages are automatically translated to the recipient's chosen language.
- Notifications: Users receive notifications for new messages.
- Profile Customization: Users can customize their profiles with avatars and status messages.
A standout feature of AshChat is its multilingual support. Users can select their preferred language for communication. The application translates messages to the recipient's chosen language, ensuring that both parties can converse in their preferred languages. This feature enhances the user experience by breaking down language barriers and promoting inclusive communication.
The documentation for the application is available in the docs
folder. The documentation includes the following: