Skip to content

braydenidzenga/ZettaNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

346 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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.

Features โ€ข Tech Stack โ€ข Getting Started โ€ข Docker โ€ข Roadmap โ€ข Contributing


๐Ÿšง Project Status

Currently in Active Development โ€ข Contributions Welcome!

Hacktoberfest


โœจ Features

๐Ÿš€ Currently Available

  • โœ… Modern Markdown Editor with syntax highlighting and live preview
  • โœ… 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 seamlessly
  • โœ… User Authentication - Secure login and registration with OAuth
  • โœ… Admin Portal - User management interface
  • โœ… Task Management - Complete task system with subtasks and reminders
  • โœ… Email Notifications - Automated reminders and notifications

๐Ÿ”ฎ 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
    npm run create-admin

๐Ÿณ Running with Docker

Prerequisites

  • Docker and Docker Compose installed

Quick Start with Docker Compose

  1. Clone the repository

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

    # Copy the example environment file
    cp .env.example .env
    
       # Edit .env with your configuration (required: JWT_SECRET, email settings)
    nano .env
  3. Start all services with Docker Compose

    docker-compose up -d

    This will start:

    • MongoDB (database)
    • Redis (caching)
    • Backend (API server)
    • Frontend (web application)
    • Nginx (reverse proxy)
  4. Access the application

    • Frontend: http://localhost or https://localhost (if SSL configured)
    • API: http://localhost/api or https://localhost/api

Manual Docker Setup (Alternative)

If you prefer to run services individually or have an external MongoDB:

  1. Build Docker images

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

    docker run -d -p 4000:4000 --name zettanote-backend zettanote-backend
    docker run -d -p 3000:3000 --name zettanote-frontend zettanote-frontend

๐Ÿค 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
bhavanisaw
bhavanisaw
kleberson154
kleberson154
DikshantJangra
DikshantJangra
SudharsanSaravanan
SudharsanSaravanan
213sanjana
213sanjana
SrinjoyeeDey
SrinjoyeeDey
madhavv-xd
madhavv-xd
anup2702
anup2702
arunesh12389
arunesh12389
damarudhvarma
damarudhvarma
kaushalyap
kaushalyap
shourya2006
shourya2006
deepshikhatutorials
deepshikhatutorials
anirbandotdev
anirbandotdev
naextro
naextro
Namit-Rana6
Namit-Rana6
Nitin2332
Nitin2332
AmjustGettingStarted
AmjustGettingStarted
Omar8345
Omar8345
KhanjarSingh
KhanjarSingh
Er-luffy-D
Er-luffy-D
prkr-28
prkr-28
mukeshdhadhariya
mukeshdhadhariya
sudoyasir
sudoyasir
amilliiee
amilliiee
uniquepersun
uniquepersun
NotHolmes
NotHolmes
tvnmvy66
tvnmvy66
siddxharth1
siddxharth1
Riya922003
Riya922003
ayaz9616
ayaz9616
UrekMaz
UrekMaz
matheusdcunha
matheusdcunha
manumay1962
manumay1962
mahiptiwari1000
mahiptiwari1000
mahenoorsalat
mahenoorsalat
komalsathvik
komalsathvik
ByteKatana
ByteKatana
MIGHTYgAur
MIGHTYgAur
theboringguy07
theboringguy07
AsadAhmedSaiyed
AsadAhmedSaiyed
M1CTIAN
M1CTIAN
anandakbari
anandakbari
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