Astral Chat is a user-friendly chat application built with NestJS and Expo. It's designed to provide a seamless and interactive communication experience.
-
User Authentication: Secure sign-up and login process (with email verification).
-
Friend Requests: Users can send, receive, and manage friend requests.
-
Profile Management: Users can update their username, first name, and last name.
-
Conversation Management: Users can create and delete conversations.
-
Real-Time Messaging: Real time messaging with auto scroll and smooth animations.
-
Expo: Used for building the frontend of the application, providing a universal platform for React applications.
-
NestJS: Used for building the backend, ensuring efficient and scalable server-side applications.
-
Prisma: An open-source database toolkit used for making database access easy and intuitive.
-
NativeBase: A popular UI component library used to design the application's user interface.
-
React Query: Used for fetching, caching, and state management in the application, making data fetching a breeze.
-
Socket.IO: Enables real-time, bidirectional, and event-based communication, essential for the real-time messaging feature.
Astral Chat uses a PostgreSQL database for storing user data. The database is containerized using Docker Compose, which allows for easy setup and deployment. The Docker Compose file can be found in the root directory of the project.