FriendZone - Realtime Chat Application
Welcome to FriendZone, a full-stack, real-time messaging application built with a modern technology stack. This project demonstrates key concepts in web development, including authentication, real-time communication, and efficient data handling.
This documentation will guide you through the setup, configuration, and core concepts of the application.
Key Features
- Real-time Messaging: Instant message delivery between users using Pusher.
- Friend System: Users can send, accept, or deny friend requests via email.
- Google Authentication: Secure and easy login using NextAuth.js with a Google Provider.
- Protected Routes: Sensitive dashboard and chat routes are protected, requiring user authentication.
- Performant Database: Utilizes Redis via Upstash for fast, real-time data queries and storage.
- Responsive UI: A clean and modern user interface built with TailwindCSS and custom components.
Technology Stack
This project leverages a range of modern technologies to deliver a seamless user experience:
- Framework: Next.js (with App Router)
- Language: TypeScript
- Styling: TailwindCSS
- Authentication: NextAuth.js
- Database: Upstash Redis
- Real-time Engine: Pusher
- UI Components: Headless UI, Lucide React
- Form Handling: React Hook Form with Zod for validation.