The Study Groups Application is a web platform designed to facilitate the creation, management, and discovery of study groups. Users can find or create study groups, participate in discussions through an integrated chat feature, and access groups based on various categories. The application supports both open and closed groups to cater to different privacy preferences.
- Registration: Users can sign up using their email and password. ✉️🔐
- Authentication: Secure login functionality with password encryption and session management. 🔒
- Password Recovery: Users can reset their passwords through a secure email link. 🔑
- Group Creation: Users can create study groups, specifying the group type (open or closed), category, and description. ✍️
- Group Discovery: Users can search and filter groups by categories to find ones that match their interests or study needs. 🔍
- Open Groups: These groups are accessible to any user without prior approval. 🌐
- Closed Groups: These groups require an approval process for new members, ensuring privacy and exclusivity. 🔒
- Real-Time Chat: Each study group includes a chat room where members can communicate in real time. ⏱️💬
- Message History: Chat history is preserved, allowing users to refer back to previous discussions. 📜
- Notifications: Users receive notifications for new messages and group activities. 🔔
- Diverse Categories: Study groups are organized into various categories such as science, arts, technology, and more. 🌟
- Search and Filter: Users can easily search for groups based on categories, keywords, or group type. 🔎
- Profile Management: Users can update their personal information, including their profile picture, bio, and study interests. 🖼️📝
- Group Management: Users can view and manage the groups they own or participate in. 📋
- Frontend: React, TypeScript, and ShadCN for a responsive and intuitive user interface. 💻
- Backend: Node.js with Express, leveraging a RESTful API architecture. 🌐
- Database: MongoDB for storing user data, group information, and chat messages. 🗄️
- Authentication: JWT (JSON Web Tokens) for secure user authentication and session management. 🔑
- Real-Time Communication: WebSockets for enabling real-time chat functionality. 🔌Here’s your revised version with added emojis: