Collaborative Knowledge Base for Teams
NoteNest is an open-source, team-based knowledge base that allows users to create, organize, and collaborate on notes and documentation in real time. It mirrors industry-grade documentation and collaboration tools used by modern teams.
| Feature | Description |
|---|---|
| π Rich Note Editor | Structured documentation with Markdown support |
| π₯ Team Workspaces | Collaborative spaces for your team |
| π Role-Based Access | Fine-grained permissions (Admin, Editor, Viewer) |
| π Search & Indexing | Find notes quickly with powerful search |
| π Organization | Folders and tags to keep notes organized |
| π Scalable Backend | Built for performance and growth |
- π Full-text search
- π€ AI-assisted summaries
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend β
β Next.js β’ Tailwind CSS β’ Modern React Components β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Backend β
β Node.js β’ REST / GraphQL APIs β’ JWT Auth β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Database β
β MongoDB β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Before you begin, ensure you have the following installed:
- Node.js v18 or higher (Download)
- MongoDB (local) or MongoDB Atlas account
- Git (Download)
-
Clone the repository
git clone https://github.com/R3ACTR/NoteNest-Collaborative-Knowledge-Base.git cd NoteNest-Collaborative-Knowledge-Base -
Install dependencies (root + backend + frontend)
npm run install:all
Or install manually:
npm installat the repo root, thennpm installin bothbackend/andfrontend/. -
Run backend and frontend with one command
From the repository root:
npm run dev
This starts both the backend and the frontend in parallel. Backend runs at
http://localhost:5000, frontend athttp://localhost:3000.To run them separately:
npm run dev:backendornpm run dev:frontendfrom the root, or runnpm run devinsidebackend/orfrontend/. -
Backend environment (optional)
If the backend needs a.envfile (e.g. MongoDB URI), createbackend/.envfrombackend/.env.exampleand edit as needed.
Create a .env file in the backend/ directory:
# MongoDB Connection
MONGODB_URI=mongodb://localhost:27017/notenest
# JWT Secret (use a strong random string)
JWT_SECRET=your-secret-key-here
# Server Port
PORT=5000notenest/
βββ frontend/ # Next.js frontend application
β βββ components/ # Reusable React components
β βββ pages/ # Next.js pages
β βββ styles/ # Tailwind CSS styles
β
βββ backend/ # Node.js backend APIs
β βββ controllers/ # Request handlers
β βββ models/ # MongoDB models
β βββ routes/ # API routes
β βββ middleware/ # Auth & validation middleware
β
βββ docs/ # Project documentation
βββ .github/ # GitHub workflows & templates
βββ CONTRIBUTING.md # Contribution guidelines
βββ ROADMAP.md # Feature roadmap
βββ README.md # You are here!
We welcome contributions of all sizes! Here's how to get started:
Browse our Issues and look for:
| Label | Description |
|---|---|
good first issue |
Perfect for newcomers |
frontend |
UI/React work |
backend |
API/Node.js work |
documentation |
Docs and guides |
bug |
Something needs fixing |
# Fork via GitHub UI, then:
git clone https://github.com/YOUR-USERNAME/NoteNest-Collaborative-Knowledge-Base.git
cd NoteNest-Collaborative-Knowledge-Base
git checkout -b feature/your-feature-name- Write clean, readable code
- Add comments where helpful
- Follow existing code style
- Test your changes locally
git add .
git commit -m "feat: add your feature description"
git push origin feature/your-feature-nameThen open a PR on GitHub with a clear description of your changes.
| Document | Description |
|---|---|
| Setup Guide | Detailed local setup instructions |
| Architecture | System architecture overview |
| API Reference | API endpoints documentation |
| Roles & Access | RBAC documentation |
A well-written note is clear, structured, and useful to others. Follow these principles when contributing notes to NoteNest:
Every note should answer: "Why does this exist?"
- Start with a descriptive title that tells readers what the note is about
- Include a brief summary at the top explaining the note's purpose
- Focus on one topic per note instead of mixing multiple unrelated ideas
Organize information logically so readers can scan and find what they need:
- Use headings and subheadings to break down complex topics
- Group related information together
- Present steps or lists in a clear, numbered or bulleted format
- Keep paragraphs short (2-4 sentences max)
Good notes help people do something or understand something:
- Provide specific examples instead of vague descriptions
- Include code snippets, commands, or screenshots when relevant
- Add links to related documentation or resources
- Specify prerequisites or requirements upfront
Follow Markdown conventions to maintain readability:
- Use
code blocksfor commands, file names, and technical terms - Apply bold for emphasis on key terms
- Use > blockquotes for important warnings or notes
- Format links meaningfully:
[Link Text](url)instead of raw URLs
β Weak Note:
Setup stuff
Just install the things and run it. Ask someone if it doesn't work.
β Good Note:
## Local Development Setup
This guide helps you set up NoteNest on your local machine.
### Prerequisites
- Node.js v18+
- MongoDB running locally
### Steps
1. Clone the repository
2. Run `npm install` in both `/frontend` and `/backend`
3. Configure `.env` file (see Environment Variables section)
4. Start backend: `npm run dev` from `/backend`
5. Start frontend: `npm run dev` from `/frontend`
### Troubleshooting
- If MongoDB connection fails, verify it's running: `mongod --version`The difference? The good note is specific, structured, and actionable.
Found a security vulnerability? Please read our Security Policy for responsible disclosure guidelines.
See our Roadmap for planned features:
- Core note editor
- Team workspaces
- Full-text search
- AI-assisted features
- Mobile app
Contributions are evaluated based on:
- β Code quality and clarity
- β Documentation
- β Consistency with project style
- β Collaboration and communication
Quality and learning matter more than quantity!
This project is licensed under the MIT License - see the LICENSE file for details.
- Open Source Quest (OSQ) community
- All our amazing contributors β€οΈ
Happy contributing! π