WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Noteroom is a collaborative note-sharing platform designed for students everywhere. We're expanding beyond any single institution to make it accessible to all learners, regardless of their school, college, or level of study. Our mission is to create a universal platform where students can seamlessly share, organize, and access study materials.

Notifications You must be signed in to change notification settings

ju4700/noteroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NoteRoom

NoteRoom is a collaborative note-sharing platform designed to help students share, organize, and access study materials effortlessly.

Features

  • 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.

Tech Stack

  • 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)

Installation

Follow these steps carefully to set up the project on your local machine:

1. Clone the repository

Download the project files to your computer:

 git clone https://github.com/ju4700/noteroom.git

2. Navigate into the project directory

Move into the newly created directory:

 cd noteroom

3. Install dependencies

Install all required packages listed in package.json:

 npm install

This will download and set up all the Node.js packages needed for the project.

4. Set up environment variables

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.

5. Compile TypeScript to JavaScript

Convert the TypeScript code into JavaScript using the TypeScript compiler:

 npx tsc

This will generate a dist/ folder containing the compiled JavaScript files.

6. Run database migrations (if any)

Ensure your MongoDB database is up and running. If there are any migrations or initial seed data, run them accordingly.

7. Start the development server

Launch the server in development mode:

 npm run dev

The server will start running, and you'll see the logs in your terminal.

8. Access the application

Once the server is running, open your web browser and go to:

 http://localhost:3000

You should now see the NoteRoom homepage!

Usage

  • 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.

Contributing

Contributions are welcome! To get started:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m "Add your feature"
  4. Push the branch:
    git push origin feature/your-feature-name
  5. Create a Pull Request.

Star this repo if you find NoteRoom useful!

About

Noteroom is a collaborative note-sharing platform designed for students everywhere. We're expanding beyond any single institution to make it accessible to all learners, regardless of their school, college, or level of study. Our mission is to create a universal platform where students can seamlessly share, organize, and access study materials.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •