Campus Notes is a web application designed to streamline the process of sharing and accessing study materials among students. It allows students to upload, share notes by semester, year and subject, providing a centralized platform for academic resources. The application also features a global chat system for real-time collaboration and discussions between students, enhancing the overall learning experience.
Students often face challenges in accessing organized study materials. Many rely on scattered platforms for sharing notes, which leads to confusion and inefficiencies. Campus Notes solves this problem by offering a structured way to upload and access notes, while fostering collaboration through a real-time chat feature.
- User Authentication: Sign up, login, and Google OAuth integration for secure access.
- Profile Management: Create and manage user profiles to track uploaded notes and interactions.
- File Uploads: Upload and share notes using Google Drive API. Notes are categorized by semester and subject.
- Notes Filtering: Filter notes based on semester, subject, or custom tags to easily access relevant materials.
- Global Chat: Real-time messaging using WebSockets to facilitate communication and collaboration among students.
- Responsive Design: Mobile-friendly interface for seamless access on any device.
- Frontend:
- React.js
- Tailwind CSS
- Material Tailwind
- Backend:
- Node.js
- Express.js
- WebSockets (for real-time communication)
- Database:
- MongoDB (NoSQL)
- APIs and Integrations:
- Google Drive API (for file storage)
- Development Tools:
- Git/GitHub (version control)
- VS Code (IDE)
- Postman (API testing)
- Deployment:
- Backend - Render
- Frontend - Vercel
Follow these steps to set up Campus Notes locally on your machine:
Make sure you have the following installed:
- Node.js (Version 14 or higher)
- npm (Node package manager) or yarn
- MongoDB (If you want to run the local database)
- Google Cloud Project with OAuth enabled for Google API (for file uploads via Google Drive)
Clone the repository
git clone https://github.com/CampusNotes/Backend.git
Go to the project directory
cd Backend
Install dependencies
npm install
Start the server
npm run dev
To run this project, you will need to add the following environment variables to your .env file
APP_PORT
MONGO_URI
SALT
ACCESS_TOKEN_SECRET_KEY