A full-stack web application where students can upload, browse, search, and review academic notes.
This project was collaboratively built by a team of 6 students from Newton School of Technology, under the guidance of faculty members and with support from the Software Development Club (NST-SDC). What began as a summer open-source initiative for solving students real-world problem became a hands-on way to strengthen our skills in frontend, backend, databases, deployment, and teamwork.
π Live Website
- Upload notes (PDF, DOCX, etc.)
- Browse & search by subject, title, or tags
- Personalized dashboard for managing uploaded and downloaded notes
- Ratings & reviews system to improve note quality
- Secure login/signup with Firebase Authentication
- Clean, responsive design for mobile and desktop
| Layer | Tools Used |
|---|---|
| Frontend | React, Tailwind CSS |
| Backend | Node.js, Express.js |
| Database | MongoDB (Mongoose) |
| Authentication | Google Authentication |
| Deployment | Vercel (Frontend), Render (Backend) |
We welcome contributions from the community to make this project even better!
Please read our CONTRIBUTING.md for detailed guidelines on how to get started.
- Fork the repository
- Create a new branch
git checkout -b feature/your-feature
- Make your changes
- Commit them
git commit -m "Add your feature" - Push to your fork
git push origin feature/your-feature
- Open a Pull Request on GitHub π
-
HomePage (the landing page, light mode & dark mode toggle present)

-
Dashboard (tracks and updates all the activities, and can also navigate to different webpages)

3a. Browse page (with all the relevant subjects and filters)

3b. Review Button (On clicking the review button, it opens up this detailed information about the particular note, along with a preview and reviews)

git clone https://github.com/your-username/notes-sharing-platform.git
cd notes-sharing-platform
npm installcd backend
npm installcd ../frontend
npm installCreate a .env file in both the backend/ and frontend/ folders.
=> Example structure:
backend/.env
MONGO_URI=<your_mongo_uri>
JWT_SECRET=<your_jwt_secret>
PORT=3000
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
FRONTEND_URL=http://localhost:5173
CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>
CLOUDINARY_API_KEY=<your_cloudinary_api_key>
CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
CLOUDINARY_UPLOAD_PRESET=<your_upload_preset>
CLOUDINARY_UPLOAD_FOLDER=<your_upload_folder>
RESEND_API_KEY=<your_resend_api_key>
BACKEND_URL=http://localhost:3000
YOUTUBE_API_KEY=your_youtube_api_key_here
GOOGLE_SEARCH_API_KEY=your_google_search_api_key_here
GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your_custom_search_engine_id_herefrontend/.env
VITE_CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
VITE_CLOUDINARY_PRESET=your_upload_preset
VITE_API_BASE_URL=http://localhost:3000Start both the backend and frontend in separate terminals:
Backend
cd backend
npm startFrontend
cd frontend
npm run devNow open http://localhost:5173 in your browser.
notes-sharing-platform/
βββ frontend/ # React app
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ utils/
β β
β βββ public/
β
βββ backend/ # Node.js + Express API
β βββ controllers/
β βββ models/
β βββ routes/
β βββ middlewares/
β βββ index.js
β
βββ .gitignore
βββ README.md
βββ LICENSE-
Vipul Yadav (vipul.k@adypu.edu.in)
-
Mridul (mridul.jyothi@adypu.edu.in)
-
Riddhi Khera (riddhi.khera@adypu.edu.in)
-
Nitin Sahu (nitin.sahu@adypu.edu.in)
-
Ananya Gupta (ananya.gupta@adypu.edu.in)
-
Amrit Kumar Mahto (amrit.mahto@adypu.edu.in)
-
Aman Kumar (https://github.com/AmanC77)



