PeerNotes
This is a Peer to Peer Notes sharing platform that is hosted at the university level with rich features that allow students to host and search for Notes with convenient filters such as Professor, Course, Semester and Topic. There are also further administrative controls to be able to remove malicious actors and files to ensure academic integrity.
Install / Use
/learn @AmanTahiliani/PeerNotesREADME
PeerNotes (In Progress)
Repository for a course project of CS4675/CS6675 at Georgia Institute of Technology.
Advisory for Contributors
<ul> <li>Please do not commit any code to the main branch directly</li> <li>Use feature branches, ideally with your name and the feature it is for mentioned in the branch name eg. feature_aman_login</li> <li>Raise a PR once you are ready and have checked your code for errors.</li> <li>Mention a bullet point summary for all the features you are pushing as part of the PR within the description to ease the review process</li> </ul>Contributing to the Codebase
-
Create a new branch:
git checkout -b <branch-name> -
Make your changes.
-
Use black to format your code: (With virtual environment activated)
black . -
Make your changes and commit them:
git add . git commit -m "Your commit message" -
Push your changes to the remote repository:
git push origin <branch-name> -
Create a Pull Request on GitHub.
Getting Started
Frontend (ReactJs)
For our frontend we are using React + Vite + TypeScript!
- React -> JavaScript Framework for creating reactive user interfaces.
- Vite -> Development environment / build tool. Gives us access to features like hot reload, bundling, and plugins.
- TypeScript -> A superset of JavaScript allowing for static types.
Here's how to set up + run the frontend environment:
- Download and install Node.js v18+ Check your node version:
node -v
- Clone the repo using Git
- Install dependencies
cd frontend
npm install
- Start the development server
npm run dev
- Visit http://localhost:5173
Backend
Central Server (Django)
This is the backend for the Django project.
Setup
-
Open a new terminal and cd into the backend directory:
cd backend -
Create a virtual environment:
python3 -m venv venv -
Activate the virtual environment:
- For macOS/Linux:
source venv/bin/activate - For Windows:
venv\Scripts\activate
- For macOS/Linux:
-
Install the project dependencies:
pip install -r requirements.txt
Running the Server
To start the Django server, run the following command:
python3 manage.py runserver
By default, the server will run on http://localhost:8000/.
Admin Panel
In order to access the admin panel, you need to create a superuser. To do this, run the following command:
python3 manage.py createsuperuser
Then, you can access the admin panel by visiting http://localhost:8000/admin/ and logging in with the superuser credentials.
Intermediate Proxy Service (Flask)
This is the service which runs on the client side and is responsible for handling the peer to peer connections and file transfers along with getting the IPs of the machine. In order to run this, please do the following:
-
Open a new terminal and cd into the file_peer directory:
cd file_peer -
Make sure that the venv that we used for the backend service is activated
-
Run the flask server using the following command:
python3 peer_service.py
Further Configurations:
- You would need to set up the central server with a domain and change the domain within the client code. (It is currently hardcoded with IP.)
- Make sure all the servers are running within the same network as this solution is featured to be restricted to within a network by design.
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
111.1kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
352.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
