Quilla is a full-stack note-taking application designed for simplicity and efficiency. Built with a modern tech stack, it offers a seamless experience for managing your notes, complete with robust backend services and a sleek, responsive user interface.
- ✅ CRUD Operations: Create, Read, Update, and Delete notes effortlessly.
- 🎨 Intuitive UI: Clean and responsive design using React, Tailwind CSS, and DaisyUI.
- 🧠 Robust Backend: Express.js and MongoDB ensure reliable and scalable performance.
- 🔐 Rate Limiting: Efficient API protection using Upstash Redis.
- 📣 Real-time Toasts: Instant feedback on actions using
react-hot-toast.
- React
- Vite
- React Router v7
- Tailwind CSS
- DaisyUI
- Axios
- react-hot-toast
- Node.js
- Express.js
- MongoDB + Mongoose
- Upstash Redis
- dotenv
- Nodemon
- CORS
Quilla/
├── .github/
│ └── copilot-instructions.md
├── assets/
├── backend/
│ ├── src/
│ │ ├── config/
│ │ │ └── upstash.js
│ │ ├── controllers/
│ │ │ └── notesController.js
│ │ ├── middleware/
│ │ │ └── rateLimiter.js
│ │ ├── models/
│ │ │ └── note.js
│ │ ├── routes/
│ │ │ └── notesRoute.js
│ │ └── server.js
│ ├── .env.example
│ └── package.json
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── libs/
│ │ ├── pages/
│ │ ├── App.jsx
│ │ ├── index.css
│ │ └── main.jsx
│ ├── index.html
│ ├── tailwind.config.js
│ └── package.json
├── package.json
└── README.md
Get a local copy of the project up and running for development and testing.
- Node.js (LTS recommended)
- npm (comes with Node.js)
- MongoDB Atlas account (or local MongoDB)
- Upstash account (for Redis)
-
Clone the repository:
git clone https://github.com/bharathsai369/Quilla.git cd Quilla -
Install dependencies (frontend and backend):
npm install
Create a .env file inside the backend/ directory:
# MongoDB
MONGO_URI=<your_mongodb_connection_string>
# Upstash Redis
UPSTASH_REDIS_REST_URL=<your_upstash_redis_rest_url>
UPSTASH_REDIS_REST_TOKEN=<your_upstash_redis_rest_token>
# Environment
NODE_ENV=development🔐 Replace placeholders with your actual credentials.
cd backend
npm run dev➡️ Runs on: http://localhost:5001
cd frontend
npm run dev➡️ Runs on: http://localhost:5173
-
Build frontend:
npm run build
Generates static files in
frontend/dist. -
Serve full-stack app:
npm start
➡️ This will serve the static frontend via Express and start the backend API.


