Skip to content

CodingWithTushar/TalkNLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🀝 TalkNLearn – Connect, Chat & Call! A Social Networking & Real-time Communication Platform Welcome to TalkNLearn, your new favorite platform to connect with people, forge new friendships, and engage in meaningful conversations! This full-stack MERN application is designed to showcase modern web development practices including robust authentication, real-time communication, and seamless user interaction.

πŸš€ Check out the live project here: https://talknlearn-1.onrender.com

If Signup doesn't work, you can use these test login credentials: πŸ“§ Email: Tushar7531@gmail.com πŸ”‘ Password: Tushar7531

With TalkNLearn, users can:

βœ… Sign up and Log in (with secure JWT authentication via cookies) ⭐ Discover & Add Friends to expand their network πŸ’¬ Engage in Real-time Messaging with friends πŸ“ž Initiate Video Calls for face-to-face conversations πŸ”„ Manage their Profile and connections

🧱 Tech Stack Frontend:

React.js: A declarative, component-based JavaScript library for building user interfaces. Tailwind CSS: A highly customizable, utility-first CSS framework for rapidly building custom designs. DaisyUI: A free, open-source Tailwind CSS component library for beautiful and responsive UI. TanStack Query (React Query): Powerful asynchronous state management for React, making data fetching, caching, and synchronization a breeze. React Router DOM: Declarative routing for React.js, enabling navigation between different application views. Backend:

Node.js: A JavaScript runtime for building scalable server-side applications. Express.js: A fast, unopinionated, minimalist web framework for Node.js. Bcrypt.js: A library to help you hash passwords. JSON Web Token (jsonwebtoken): For implementing secure authentication with JWTs. CORS (Cross-Origin Resource Sharing): Node.js middleware for providing a Connect/Express middleware that can be used to enable CORS with various options. Cookie-Parser: Parse Cookie header and populate req.cookies with an object keyed by the cookie names. GetStream.io: For robust and scalable chat and activity feed infrastructure, simplifying real-time communication. Database:

MongoDB: A NoSQL, document-oriented database for flexible data storage. Authentication:

JWT (JSON Web Tokens): Secure, stateless authentication mechanism (stored in HTTP-only cookies). πŸš€ Features πŸ” Secure authentication with JWT (stored in HTTP-only cookies) πŸ§‘β€πŸ€β€πŸ§‘ Friend Management: Send/accept friend requests, view friend lists. πŸ’¬ Real-time Chat: Instant messaging capabilities powered by Stream Chat. πŸ“ž Integrated Video Calling: Seamless video communication (potentially via WebRTC, simplified by Stream Calls or a similar service). 🌐 Intuitive and Responsive UI built with React, Tailwind CSS, and DaisyUI. πŸ›£οΈ Client-side Routing with React Router DOM for a smooth single-page application experience.

πŸ› οΈ Getting Started Locally Prerequisites Node.js & npm MongoDB instance (local or cloud like MongoDB Atlas) GetStream.io Account (for Chat & Calls API keys)

✨ Future Improvements Role-based Access Control: Implement admin/moderator roles. Group Chats: Ability to create and manage group conversations. Presence Indicators: Show online/offline status of friends. File Sharing: Share images, videos, and documents in chat. Push Notifications: Notify users of new messages or friend requests. Rich Text Editor: Enhanced messaging with formatting options. Customizable Profiles: Allow users to personalize their profiles further.

πŸ™‹β€β™‚οΈ Why I Built This TalkNLearn was created as a passion project to solidify my understanding of the MERN stack and to dive deep into real-time communication technologies. It showcases full CRUD operations, secure user authentication, and the integration of powerful third-party services like GetStream.io to build a truly interactive and engaging application. It's a testament to building functional and scalable applications from the ground up using modern web development workflows.

πŸ“¬ Contact Feel free to reach out for suggestions, collaborations, or just to say hello!

πŸ“§ Email: tusharwebdev007@gmail.com

πŸ“„ License This project is open-source and available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages