Skip to content

nst-sdc/NotesShaaring-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Notes Sharing Platform

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


Features

  • 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

Tech Stack

Layer Tools Used
Frontend React, Tailwind CSS
Backend Node.js, Express.js
Database MongoDB (Mongoose)
Authentication Google Authentication
Deployment Vercel (Frontend), Render (Backend)

UI/UX Screenshots

  1. HomePage (the landing page, light mode & dark mode toggle present)
image image
  1. Dashboard (tracks and updates all the activities, and can also navigate to different webpages)
image image

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

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

  1. Notes Upload Page (with functional and clear layout)
image
  1. Doubts Page (helps in viewing and filtering all the doubts by users, also uploading the doubts)
image image
  1. Notes Page (Tracks uploaded and downloaded notes)
image

Getting Started

1. Clone the Repository

git clone https://github.com/your-username/notes-sharing-platform.git
cd notes-sharing-platform
npm install

2. Install Dependencies

cd backend
npm install
cd ../frontend
npm install

3. Environment Variables

Create 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_here

frontend/.env

VITE_CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
VITE_CLOUDINARY_PRESET=your_upload_preset
VITE_API_BASE_URL=http://localhost:3000

4. Run the App Locally

Start both the backend and frontend in separate terminals:

Backend

cd backend
npm start

Frontend

cd frontend
npm run dev

Now open http://localhost:5173 in your browser.

Folder Structure

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

Interested in Contributing

We’d love your help!

  1. Fork the repository
  2. Create a new branch:
git checkout -b feature/your-feature
  1. Make your changes
  2. Commit:
git commit -m "Add your feature"
  1. Push:
git push origin feature/your-feature
  1. Open a Pull Request on GitHub

The Contributors


Thank you for exploring our project, we hope you found it helpful :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7