https://github.com/omkar4965/quillconnect
Developed "QuillConnect," a full-stack social media web application enabling user account creation, posting, following, liking, commenting, and real-time chatting using WebSockets.
https://github.com/omkar4965/quillconnect
firebase mern-stack mongodb socket-io
Last synced: about 1 year ago
JSON representation
Developed "QuillConnect," a full-stack social media web application enabling user account creation, posting, following, liking, commenting, and real-time chatting using WebSockets.
- Host: GitHub
- URL: https://github.com/omkar4965/quillconnect
- Owner: Omkar4965
- Created: 2024-09-16T15:59:20.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-05T12:50:44.000Z (over 1 year ago)
- Last Synced: 2025-05-18T23:12:43.124Z (about 1 year ago)
- Topics: firebase, mern-stack, mongodb, socket-io
- Language: JavaScript
- Homepage: https://quill-connect-git-main-omkar4965s-projects.vercel.app/
- Size: 8.08 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QuillConnect Documentation
## 1. Introduction
QuillConnect is a social media platform where users can:
Create accounts.
Post images, text, or both.
Follow and interact with other users by liking and commenting on posts.
Chat with users in real-time through a WebSocket-powered chat system.
Manage a profile page displaying personal details, posts, and followers/following.
## 2. Technology Stack
Front-end: React with Chakra UI for responsive and reusable components.
Back-end: Node.js with Express for API management.
Database: MongoDB for storing users, posts, comments, and follower/following relationships.
Real-time Communication: Socket.IO for live chat and displaying online friends.
Hosting: Vercel for front-end hosting.
## 3. Features and Implementation
### 3.1 User Authentication
Current Setup: Basic login and registration forms. No added security mechanisms such as JWT or OAuth are implemented yet.
Future Improvement: For enhanced security, consider implementing token-based authentication using JWT or OAuth for session management.
### 3.2 Profile Management
Users can view their profile, which includes:
Profile picture.
Cover picture.
Personal information (editable via a form).
List of their posts.
Display of followers and followings.
Implementation:
Profile editing is handled through a simple form, allowing users to update their details.
Changes are submitted via API calls to the backend, where they are updated in MongoDB.
### 3.3 Posts
Users can post content in the form of text, images, or a combination of both.
Image Upload:
Images are uploaded without any size or format restrictions.
No additional optimizations for file storage or compression are implemented yet.
Future Improvement: Consider adding file size limits or optimizations to ensure performance on larger uploads.
### 3.4 Followers and Following
Each user has two arrays in their database schema:
Followers: Stores the user IDs of those following the user.
Following: Stores the user IDs of users that the current user is following.
Implementation: Following/unfollowing is implemented through API calls that update these arrays in MongoDB.
### 3.5 Real-time Chat
Implementation: Real-time chat is powered by Socket.IO, which allows users to exchange messages instantly.
Online Friends: Users who are online are displayed on the homepage through a WebSocket connection.
### 3.6 UI Design
The interface is designed using Chakra UI, which provides reusable, responsive components that simplify front-end development.
User Experience: The UI provides a clean and minimal design, ensuring a seamless user experience across devices.
### 3.7 Hosting
The front-end of QuillConnect is hosted on Vercel, providing fast and reliable deployment.
No CI/CD pipelines have been set up, but this could be a future enhancement to streamline deployment processes.
## 4. Areas for Improvement
### Security: Implement token-based authentication like JWT and OAuth.
### Image Handling: Add file size and format restrictions to improve performance.
### Notifications: Implement real-time notifications for likes, comments, and new messages.
### Scalability: Introduce caching mechanisms and consider load balancing strategies as the platform grows.