Skip to content

jeturgavli/ZettaNote

 
 

Repository files navigation

ZettaNote Banner

Typing SVG

License Issues Pull Requests Live Demo

An open-source note-taking application inspired by Notion, focusing on Markdown-based notes, real-time collaboration, and flexible organization while remaining lightweight and developer-friendly.

FeaturesTech StackGetting StartedDockerContributing


🚧 Project Status

Currently in Active Development • Contributions Welcome!

Hacktoberfest


✨ Features

🚀 Currently Available

  • Modern Markdown Editor with syntax highlighting
  • Auto-save Functionality - Never lose your work
  • Responsive Dashboard - Mobile-friendly design
  • Page Management - Create, rename, delete pages
  • Public Sharing - Share pages with secure links
  • Dark/Light Theme - Switch between themes
  • User Authentication - Secure login and registration
  • Admin Portal - User management interface

🔮 Coming Soon

  • 🔄 Real-time Collaboration for teams
  • 📁 Flexible Organization with tags and folders
  • 🔍 Advanced Search & Filter across all notes
  • 🔌 API Integration - Third-party app support

🛠️ Tech Stack

Backend

Node.js Express MongoDB

Frontend

React Vite Tailwind CSS DaisyUI

DevOps

Docker Postman


⚡ Quick Start

# Clone the repository
git clone https://github.com/braydenidzenga/zettanote.git
cd ZettaNote

# Start with Docker Compose (Recommended)
docker-compose up -d

# Or start manually:
# Backend
cd backend && npm install && npm run dev

# Frontend (in new terminal)
cd frontend && npm install && npm run dev

Visit http://localhost:5173 to access the application!


🚀 Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js (v18+ recommended)
  • MongoDB (local or cloud instance)
  • npm or yarn

🔧 Backend Setup

  1. Clone the repository

    git clone https://github.com/braydenidzenga/zettanote.git
    cd ZettaNote/backend
  2. Install dependencies

    npm install
  3. Configure environment variables

    # Copy .env.example to .env and fill in your variables
    cp .env.example .env
  4. Start the backend server

    npm run dev

📮 Test APIs with Postman

  1. Open Postman
  2. Click Import
  3. Select backend/docs/postman_collection.json
  4. Start testing endpoints (ensure backend is running at http://localhost:4000)

🎨 Frontend Setup

  1. Navigate to frontend directory

    cd ZettaNote/frontend
  2. Install dependencies

    npm install
  3. Configure environment variables

    # Create .env file and add your backend URL
    echo "VITE_API_URL=http://localhost:4000" > .env
  4. Start the development server

    npm run dev

The frontend is built with:

  • Vite - Fast build tool and development server
  • 🎨 Tailwind CSS - Utility-first CSS framework
  • 🧩 DaisyUI - Component library for Tailwind CSS
  • ⚛️ React 18 - Modern React with hooks and context

🔐 Admin Portal Setup (Optional)

  1. Install dependencies

    cd admin-portal
    npm install
  2. Configure environment

    # Copy .env.example to .env and edit variables
    cp .env.example .env
  3. Run the admin portal

    npm start
  4. Create default admin user

    cd ZettaNote/backend
    node createFirstAdmin.js

🐳 Running with Docker

Prerequisites

  • Docker installed
  • MongoDB instance (local or cloud)

Steps

  1. Clone the repository

    git clone https://github.com/braydenidzenga/zettanote.git
    cd ZettaNote
  2. Configure environment variables

    # Backend: Modify variables in backend/Dockerfile
    # Frontend: Update config.js to point to your backend
  3. Build Docker images

    docker build -t zettanote-backend ./backend
    docker build -t zettanote-frontend ./frontend
  4. Run containers

    docker run -d -p 5000:5000 --name zettanote-backend zettanote-backend
    docker run -d -p 3000:3000 --name zettanote-frontend zettanote-frontend
  5. Or use Docker Compose (recommended)

    docker-compose up -d

🤝 Contributing

We welcome contributions from the community!

Contributors

Ways to Contribute:

  • 🐛 Report bugs
  • 💡 Suggest new features
  • 📝 Improve documentation
  • 🔧 Submit pull requests

Contributors

RabindranathChanda
RabindranathChanda
MannuVilasara
MannuVilasara
braydenidzenga
braydenidzenga
ikeshav26
ikeshav26
codingniket
codingniket
rahilraipuria
rahilraipuria
kleberson154
kleberson154
SudharsanSaravanan
SudharsanSaravanan
Er-luffy-D
Er-luffy-D
SrinjoyeeDey
SrinjoyeeDey
madhavv-xd
madhavv-xd
anup2702
anup2702
arunesh12389
arunesh12389
damarudhvarma
damarudhvarma
kaushalyap
kaushalyap
deepshikhatutorials
deepshikhatutorials
Omar8345
Omar8345
Nitin2332
Nitin2332
Namit-Rana6
Namit-Rana6
naextro
naextro
DikshantJangra
DikshantJangra
AnirbanNath-dev
AnirbanNath-dev
AmjustGettingStarted
AmjustGettingStarted
sudoyasir
sudoyasir
mukeshdhadhariya
mukeshdhadhariya
tvnmvy66
tvnmvy66
siddxharth1
siddxharth1
shourya2006
shourya2006
Riya922003
Riya922003
matheusdcunha
matheusdcunha
manumay1962
manumay1962
mahenoorsalat
mahenoorsalat
komalsathvik
komalsathvik
AsadAhmedSaiyed
AsadAhmedSaiyed
21aansh06
21aansh06

📄 License

This project is licensed under the MIT License.
See the LICENSE file for details.

License


💚 Support

If you find ZettaNote helpful, please consider giving it a ⭐️ on GitHub!

Star on GitHub

Built with 💚 by the open-source community

Footer

About

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 97.7%
  • CSS 1.3%
  • Other 1.0%