A full-stack real-time messaging application built with Next.js 15, Tailwind CSS v4, and Supabase. This project replicates core Instagram Direct Message features including real-time chat, user search, and a responsive UI.
- Real-time Messaging: Instant message delivery using Supabase Realtime.
- Authentication: Secure Sign Up and Login with email/password.
- User Search: Find and start conversations with other users.
- Responsive Design: Fully responsive UI optimized for desktop and mobile.
- Dark Mode: Automatic theme switching based on system preference.
- Modern UI: Built with Tailwind CSS v4 and Framer Motion for smooth animations.
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS v4
- Backend/Database: Supabase (PostgreSQL, Auth, Realtime)
- Icons: Lucide React
- Animations: Framer Motion
Follow these steps to set up the project locally.
- Node.js 18+ installed
- A Supabase account
git clone https://github.com/Abdul-Rasheed-Talal/Vibe_Coded_Full_Stack_Messaging_Website.git
cd Vibe_Coded_Full_Stack_Messaging_Websitenpm install- Create a new project on Supabase.
- Go to the SQL Editor in your Supabase dashboard.
- Copy the contents of
supabase/schema.sqlfrom this repository and run it to set up the database tables and security policies. - Get your Project URL and anon public key from Project Settings > API.
Create a .env.local file in the root directory:
cp .env.local.example .env.localUpdate .env.local with your Supabase credentials:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keynpm run devOpen http://localhost:3000 in your browser.
- Navigate to the home page.
- Use the toggle to switch between Login and Sign Up.
- Create an account to get started.
- Click the Search icon in the sidebar.
- Search for a user by their username.
- Click on a user to open the chat window.
- Start typing and sending messages!
- Click the Profile icon to view your current user details.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.