Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Notes Heaven

A full-stack note management application for creating, organizing, editing, and managing personal notes with support for text, code blocks, images, folders, search, and tags.

✨ Features

  • 📝 Create, edit, and delete notes
  • 📄 Support for regular text notes
  • 💻 Formatted code blocks
  • 🖼️ Image upload and preview
  • 📁 Organize notes into folders
  • 🏷️ Add tags to notes
  • 🔍 Search notes
  • 📅 Associate notes with dates
  • 💾 Persistent data storage with MongoDB
  • 🎨 Clean dark/navy themed interface

🛠️ Tech Stack

Frontend

  • Next.js
  • React
  • JavaScript
  • Tailwind CSS

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • Multer

Development Tools

  • Git & GitHub
  • VS Code
  • Postman

📂 Project Structure

Notes-Heaven/
│
├── app/
│   ├── dashboard/
│   ├── notes/
│   │   ├── new/
│   │   └── [id]/
│   │       └── edit/
│   └── folders/
│
├── backend/
│   ├── controllers/
│   ├── models/
│   ├── routes/
│   ├── uploads/
│   ├── server.js
│   └── package.json
│
├── public/
├── .gitignore
├── package.json
└── README.md

🚀 Getting Started

1. Clone the repository

git clone https://github.com/aakashtripathi011/Notes-Heaven.git

2. Install frontend dependencies

From the project root:

npm install

3. Install backend dependencies

cd backend
npm install

4. Configure environment variables

Create a .env file inside the backend folder:

PORT=5000
MONGO_URI=mongodb://127.0.0.1:27017/notes-heaven

Keep your .env file private and do not commit it to GitHub.

5. Start the backend

Inside the backend folder:

npm run dev

The backend will run on:

http://localhost:5000

6. Start the frontend

Open another terminal in the project root:

npm run dev

The frontend will run on:

http://localhost:3000

🔗 Application Routes

Page Route
Dashboard /dashboard
Create Note /notes/new
View Note /notes/:id
Edit Note /notes/:id/edit
Folder /folders/:name

🔌 Backend API

Notes

Method Endpoint Purpose
POST /api/notes Create a note
GET /api/notes Get all notes
GET /api/notes/:id Get a specific note
PUT /api/notes/:id Update a note
DELETE /api/notes/:id Delete a note

Image Upload

Method Endpoint Purpose
POST /api/upload Upload an image

Uploaded images are served through:

/uploads/<filename>

🗄️ Database

Notes Heaven uses MongoDB for persistent storage.

Each note can contain:

  • Title
  • Content
  • Content type
  • Folder
  • Image
  • Date
  • Tags
  • Created and updated timestamps

🔍 Search & Organization

Notes can be organized using folders and tags.

The dashboard also provides search functionality to quickly find notes.

🖼️ Image Upload

Images are uploaded through the backend using Multer.

The uploaded files are stored in the backend's uploads directory, while the image path is associated with the corresponding note in MongoDB.

🧪 API Testing

Backend APIs were tested using Postman to verify:

  • Note creation
  • Fetching all notes
  • Fetching individual notes
  • Updating notes
  • Deleting notes
  • Image uploads

🎯 Project Goal

The goal of Notes Heaven is to provide a simple and organized space for managing different types of notes while demonstrating full-stack development concepts including:

  • Frontend development
  • REST API development
  • Database integration
  • File uploads
  • CRUD operations
  • Search functionality
  • Client-server communication

👨‍💻 Author

Aakash Tripathi

Built as a Full Stack project for the GGSIPU USICT ACM Student Chapter Web Team 2026–27.

🔗 Repository

View Notes Heaven on GitHub


⭐ If you find the project interesting, feel free to explore the repository.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages