📚 StudySync – Student Resource Sharing Platform
🎯 A centralized platform for students to share and discover study resources
StudySync is a responsive web application that enables students to find, explore, and share valuable study materials including PDFs, notes, videos, and helpful links.
🚀 https://study-sync-student-resource-sharing.vercel.app
📤 Resource Sharing : Upload and share PDFs, images, videos, and links
📝 Post Creation : Share thoughts, projects, and study updates
💾 Data Persistence : All content saved with reliable backend storage
🖼️ Image Preview : Automatic preview for uploaded files and image URLs
🔗 Smart Link Detection : URLs and emails become clickable automatically
📁 File Upload : Support for multiple file types with drag-and-drop
🔄 Real-time Updates : Instant synchronization across sessions
🛡️ Error Handling : Graceful error messages and retry functionality
📱 Responsive Design : Optimized for all device sizes
🔍 Search & Filter : Advanced content discovery tools
👥 Profile & Social Features
🎓 Education Info Collection : Gather and display academic background, institution, and graduation details
🛠️ Skills Management : Add, edit, and showcase personal skills with proficiency levels
👤 Profile Customization : Edit profile picture, display name, and bio information
🔗 Clickable User Profiles : Browse and view other users' complete profiles
📊 Profile Analytics : Track profile views, engagement, and activity metrics
💬 Direct Messaging : Private communication between users
🔔 Notification System : Real-time alerts for activities and updates
⭐ Rating & Reviews : Rate and review shared resources
🏷️ Advanced Tagging : Categorize content with custom tags
📈 Learning Analytics : Track study progress and resource usage
💡 Contributors are welcome to help implement these features!
React.js - UI Framework
React Icons - Icon Library
React Select - Form Components
CSS3 - Styling
Vite - Build Tool
Node.js - Runtime Environment
Express.js - Web Framework
MongoDB - Database
Mongoose - ODM
Multer - File Upload
Passport.js - Authentication
JWT - Token Management
Session Management
POST /api/auth/register
POST /api/auth/login
POST /api/auth/logout
GET /api/auth/profile
GET /api/posts
POST /api/posts
PUT /api/posts/:id
DELETE /api/posts/:id
GET /api/resources
POST /api/resources
PUT /api/resources/:id
DELETE /api/resources/:id
POST /api/upload
GET /api/uploads/:filename
Secure Storage : All data stored in MongoDB
Session Management : Persistent user sessions
Real-time Sync : Live updates across all clients
Backup & Recovery : Automated data backup
URL Recognition : Auto-detect and linkify URLs
Email Links : Convert emails to mailto links
Social Media : Detect and preview social links
Custom Patterns : Support for various URL formats
🖼️ Advanced File Handling
Drag & Drop : Intuitive file upload interface
Image Preview : Instant preview for image files
File Validation : Type and size checking
Cloud Storage : Secure file storage solution
Node.js > = 16.x
npm > = 8.x
MongoDB > = 5.x
# Clone repository
git clone https://github.com/Codeunia/StudySync-Student-Resource-Sharing-App.git
# Navigate to project
cd StudySync-Student-Resource-Sharing-App
# Install dependencies
npm install
# Copy environment file
cp .env.example .env
# Configure your variables
MONGODB_URI=mongodb://localhost:27017/studysync
JWT_SECRET=your_secret_key
PORT=5000
# Start backend server
npm run server
# Start frontend (new terminal)
npm run dev
StudySync-Student-Resource-Sharing-App/
├── 📁 backend/ # Backend API server
│ ├── 📁 config/ # Configuration files
│ ├── 📁 middleware/ # Custom middleware
│ ├── 📁 models/ # Database models
│ ├── 📁 routes/ # API routes
│ └── 📄 server.js # Entry point
├── 📁 src/ # Frontend source code
│ ├── 📁 components/ # Reusable components
│ ├── 📁 pages/ # Page components
│ ├── 📁 styles/ # CSS stylesheets
│ ├── 📁 hooks/ # Custom React hooks
│ └── 📁 utils/ # Utility functions
├── 📁 public/ # Static assets
└── 📄 package.json # Project dependencies
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ If you found this project helpful, please give it a star!
Made with ❤️ for the student community