This is a full-stack Notes app built with the MERN stack (MongoDB, Express, React, Node.js). It supports full CRUD operations, implements rate limiting using Upstash Redis, and is deployed on Render.
- Full-stack implementation using MongoDB, Express, React, and Node.js (MERN)
- Create, update, and delete notes with title and description
- RESTful API with proper error handling and testing
- Rate limiting integrated via Upstash Redis for enhanced security
- Fully responsive UI for all screen sizes
- Deployed live on Render — ThinkBoard
| Category | Technologies |
|---|---|
| Frontend | React.js, HTML5, Tailwind CSS, Axios (for API requests) |
| Backend | Node.js, Express.js, MongoDB Atlas, Mongoose, Upstash Redis (Rate Limiting) |
| Others | RESTful API, Swagger, Render (Deployment), Git & GitHub (Version Control) |
Follow these steps to set up and run the project locally.
Make sure you have the following installed on your system:
- Node.js (v16 or later)
- npm
- MongoDB Atlas Account
- Upstash Redis Account
- Swagger
- A modern web browser
Clone the repository:
git clone https://github.com/msaakaash/think-board.git
cd think-boardcd backend/src
npm install
npm run devThis runs the backend server using nodemon server.js.
cd frontend
npm install
npm run devThis runs the frontend React app using npm run dev.
Create a .env file in the /backend directory with the following content:
MONGO_URI=<your_mongo_uri>
UPSTASH_REDIS_REST_URL=<your_redis_rest_url>
UPSTASH_REDIS_REST_TOKEN=<your_redis_rest_token>
NODE_ENV=developmentReplace placeholder values with your actual credentials.
The API is documented using Swagger for ease of use and clarity.
You can access the Swagger UI at:
http://localhost:5001/api-docs(or your configured path)
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Please read our Code of Conduct before contributing to this project.
If you discover a vulnerability, please refer to our Security Policy for instructions on how to report it responsibly.
This project is licensed under the MIT LICENSE.
