Skip to content

ahmad12583719/Quill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📝 Quill - A MERN Stack Note-Taking Application

Quill is a sleek, user-friendly note-taking application built using the MERN (MongoDB, Express, React, Node.js) stack. It offers a fast, interactive interface for creating, managing, and organizing your personal notes.


✨ Key Features

Quill provides a full suite of features for an optimal note-taking experience:

  • Create Notes: Easily add new notes with titles and content.
  • Edit Notes: Modify existing notes seamlessly.
  • Delete Notes: Remove notes instantly.
  • Save Notes: Persistent data storage using MongoDB.
  • User-Friendly UI: An intuitive and interactive interface built with React, styled using Tailwind CSS and the DaisyUI component library (using the "Forest" theme).
  • Robust Backend: Powered by Node.js and Express.
  • Rate Limiting: Protects the API from abuse using Upstash.
  • Toast Notifications: Provides real-time feedback for user actions using React Hot Toast.

🛠️ Tech Stack

Quill is built upon a modern and robust set of technologies:

Category Technology Purpose
Frontend React, Vite Fast, modern frontend library for building the UI.
Styling Tailwind CSS, DaisyUI Utility-first CSS framework and component library for a polished design.
Backend Node.js, Express Server environment and web application framework.
Database MongoDB, Mongoose NoSQL database and an ODM for data modeling.
Utilities Upstash, dotenv, cors, react-hot-toast Rate limiting, environment variable management, cross-origin resource sharing, and user feedback.
Development nodemon Automatically restarts the server during development.

🚀 Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will need the following software installed on your machine:

  • Node.js (v14+)
  • npm or yarn
  • A MongoDB database (local or cloud-hosted via MongoDB Atlas)

Installation

  1. Clone the repository:

    git clone [Your Repository URL]
    cd quill
  2. Install dependencies for the backend (root directory):

    npm install
    # or yarn install
  3. Install dependencies for the frontend (client directory):

    cd client
    npm install
    # or yarn install
    cd ..
  4. Create a .env file in the root directory and add your environment variables.

    # --- MongoDB Configuration ---
    MONGO_URI="[Your MongoDB Connection String]"
    
    # --- Server Configuration ---
    PORT=3000
    
    # --- Upstash Rate Limiting Configuration ---
    UPSTASH_REDIS_REST_URL="[Your Upstash Redis URL]"
    UPSTASH_REDIS_REST_TOKEN="[Your Upstash Redis Token]"

💻 API Endpoints

The following are the main CRUD API endpoints for managing notes:

Method Endpoint Description
GET /api/notes Retrieves all notes.
POST /api/notes Creates a new note.
PUT /api/notes/:id Updates an existing note.
DELETE /api/notes/:id Deletes a note by ID.

👤 Contact

Project Link: https://github.com/ahmad12583719/Quill Your Name: Muhammad Ahmad raza

About

Quill is a modern, lightweight note-taking application designed for seamless text management. It features a clean interface, real-time data persistence, and intuitive organization tools to help users capture and manage ideas efficiently.

Topics

Resources

Stars

Watchers

Forks

Contributors