Welcome to AsyncChat, a portfolio project designed to demonstrate the capabilities of real-time chat protocols, making it ideal for live communication scenarios.
Backend: 🌐 Built with Python and Django, AsyncChat-App ensures secure and scalable server-side operations. Integration of Redis enhances performance, while PostgreSQL handles data storage efficiently.
Frontend: 🎨 Utilizing TypeScript and React, AsyncChat-App offers a dynamic and responsive user interface. SCSS is employed for streamlined styling, ensuring a visually appealing and intuitive user experience.
Infrastructure: 🐳 Docker and GitHub Actions are instrumental in automating deployment and continuous integration processes, maintaining project reliability and consistency. AsyncChat-App's architecture is adaptable, suitable for scaling and building infrastructures similar to advanced systems like ChatGPT.
Testing: 🧪 Pytest is implemented for rigorous backend testing, ensuring code quality and reliability throughout development cycles.
To get started with the project, follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/gaurav-jo1/AsyncChat-app
-
Navigate to the project directory:
cd AsyncChat-app
-
Install frontend dependencies:
cd frontend && npm install
-
Set up the backend environment (optional for development):
- Create a virtual environment:
cd backend && virtualenv venv
- Activate the virtual environment and install dependencies:
source ./venv/bin/activate && pip install -r requirements.txt
- Create a virtual environment:
-
Set up the database configuration:
- Navigate to the database directory and create the
postgres_auth.txt
file:cd database/ && echo "postgres" > postgres_auth.txt
- Navigate to the database directory and create the
-
Run the application:
- Navigate to the root directory and start the services with Docker:
docker compose up
- Navigate to the root directory and start the services with Docker:
The following table contains the usernames and passwords for the sample users included in this application. You can use these credentials to log in and test the application.
Username | Password |
---|---|
John | securepassword |
Anya | securepassword |
Danny | securepassword |
Alice | securepassword |
Bob | securepassword |
These credentials are meant for testing and demonstration purposes only.
Access the application at: 🔗 http://localhost:5173
That's it! You should now be able to get started with the project and use Docker Compose to run the application. If you have any questions or issues, feel free to open an issue on the repository. Thanks for using my project!