NoteRoom is a collaborative note-sharing platform designed to help students share, organize, and access study materials effortlessly.
- Note Sharing: Upload and share notes with classmates.
- Search & Discover: Find notes by subjects, tags, or keywords.
- Collaboration: Work together on shared notes.
- User Profiles: Create personalized profiles showcasing your contributions.
- Secure & Reliable: Built with secure authentication and data management.
- Frontend: HTML, CSS
- Backend: Node.js with Express.js
- Programming Language: TypeScript (compiled to JavaScript)
- Database: MongoDB Atlas
- Templating Engine: EJS (being migrated to React)
- Version Control: Git & GitHub
- Package Manager: npm
- Environment Variables: dotenv
- Build Tools: tsc (TypeScript Compiler)
Follow these steps carefully to set up the project on your local machine:
Download the project files to your computer:
git clone https://github.com/ju4700/noteroom.gitMove into the newly created directory:
cd noteroomInstall all required packages listed in package.json:
npm installThis will download and set up all the Node.js packages needed for the project.
Create a .env file in the root directory to store sensitive data and configuration options. Add the following content:
MONGODB_URI=your_mongodb_connection_string
PORT=3000
- MONGODB_URI: Your MongoDB Atlas connection string.
- PORT: The port number where the app will run (default is 3000).
Make sure you never share this file or commit it to version control.
Convert the TypeScript code into JavaScript using the TypeScript compiler:
npx tscThis will generate a dist/ folder containing the compiled JavaScript files.
Ensure your MongoDB database is up and running. If there are any migrations or initial seed data, run them accordingly.
Launch the server in development mode:
npm run devThe server will start running, and you'll see the logs in your terminal.
Once the server is running, open your web browser and go to:
http://localhost:3000
You should now see the NoteRoom homepage!
- Sign Up/Login to start sharing notes.
- Upload Notes by navigating to the "Add Note" page.
- Explore Notes via the search bar or browse categories.
- Edit or Delete your own notes anytime.
Contributions are welcome! To get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your feature" - Push the branch:
git push origin feature/your-feature-name
- Create a Pull Request.
⭐ Star this repo if you find NoteRoom useful!