Notorite is a MERN stack-based note-sharing platform where students can upload, share, and access notes globally. It functions as a digital library for students, making study materials accessible to all. This project is open for contributions as part of Hacktoberfest! 🚀
Deployed Link : https://notorite.vercel.app/
- client/ - The frontend built using Vite and React.
- server/ - The backend API built using Node.js and Express.
- 📘 Share notes globally with ease.
- 🔍 Search notes based on subjects and categories.
- 🗃 Organize and manage personal note collections.
- 📈 User-friendly interface for quick and easy note uploads.
- MongoDB: Database for storing notes and user data.
- Express: Backend framework.
- React (Vite): Frontend for an interactive user interface.
- Node.js: Server environment.
- Cloudinary: Image hosting for note attachments.
- Node.js and npm should be installed on your machine.
- MongoDB Atlas account or local MongoDB setup.
- Cloudinary account for storing note-related images.
- Fork this repository to your GitHub account.
- Clone the forked repository to your local machine:
git clone https://github.com/YOUR-USERNAME/Notorite.git
- Navigate to the root of the project directory:
cd Notorite
-
Navigate to the server directory:
cd server
-
Install server dependencies:
npm install
-
Create a
.env
file in the server directory and add your own credentials for MongoDB, Cloudinary, and other environment variables. Here's an example:MONGODB_URI = your-mongodb-connection-string CLOUDINARY_NAME = your-cloudinary-name CLOUDINARY_API_KEY = your-cloudinary-api-key CLOUDINARY_API_SECRET = your-cloudinary-api-secret CLOUDINARY_URL = cloudinary://your-cloudinary-url FRONTEND_URL = http://localhost:5173 PORT = 8000 JWT_SECRET = your_jwt_secret_key EMAIL = your-email-address EMAIL_PASSWORD =password<for-OTP-email-sender-different-from-gmail-password>
Note: Replace the above credentials with your own MongoDB Atlas and Cloudinary account details.
-
Start the backend server:
node index.js
or
nodemon dev
-
Navigate to the client directory:
cd client
-
Install client dependencies:
npm install
-
Create a
.env
file in the client directory and add the following environment variable:VITE_BACKEND_URL = http://localhost:8000
-
Start the frontend development server:
npm run dev
-
Open http://localhost:5173 to view the application.
- Fork the Repository: Click the fork button at the top right of this page.
- Clone your Fork: Clone your forked repository to your local machine using
git clone
. - Create a Branch: Create a new branch for your contribution.
git checkout -b feature/your-feature-name
- Make Your Changes: Commit your changes with clear messages.
git commit -m "Add feature: description"
- Push to Your Fork: Push your changes to your GitHub fork.
git push origin feature/your-feature-name
- Create a Pull Request: Go to the original repository and make a pull request with a clear description of what you’ve done.
This project is licensed under the MIT License - see the LICENSE file for details.