SmileChat is a comprehensive web development project that offers a feature-rich chatting experience, developed using Next.js, Node.js, Tailwind, Prisma Client, Firebase, and Agora RTC Web Client. This platform provides a variety of functionalities to enhance communication and interaction among users.
Video Conferencing: Conduct video conferences seamlessly with support for multiple users.
Sign Up or Login: Users can create accounts or log in to access the platform.
Push Notifications: Receive browser or app push notifications for important updates and messages.
Profile Customization: Personalize user profiles with customizable options.
Last Seen Status: See when other users were last active on the platform.
Export Chat as Txt: Easily export chat conversations as text files for future reference.
Dark and Light Modes: Choose between dark and light themes for personalized visual preferences.
Text Chat: Engage in real-time text-based conversations with other users.
Audio Messaging: Record and send audio messages within the chat interface.
Message Disappearing: Set messages to disappear after a certain period, similar to WhatsApp's feature.
File Transfer: Share various file types, including PDFs, MP3s, images, and more, with other users.
Group Chat: Create and participate in group chats, similar to WhatsApp groups, for collaborative discussions.
To get started with SmileChat, follow these steps:
Clone the repository:
git clone https://github.com/Atul-AI08/SmileChat.git
Navigate to the project directory:
cd smilechat
Install dependencies using Yarn:
yarn install
Set up Prisma for database operations. Ensure you have a PostgreSQL or MySQL database running locally or remotely.
Initialize Prisma in your project:
npx prisma init
Configure your database connection in the prisma/schema.prisma
file.
Generate Prisma Client:
npx prisma generate
Generate all the required tables:
npx prisma db push
Set up necessary configurations for Firebase and Agora RTC.
Build and run the project:
yarn dev
yarn start
Access the SmileChat platform in your web browser.
This project is licensed under the MIT License.