ThinkBoard is a meticulously crafted full-stack Note-Taking Web App built with the powerful MERN (MongoDB, Express, React, Node.js) stack. 🎯 Designed for simplicity and speed, ThinkBoard empowers you to effortlessly create, organize, and manage your notes. 🛡️ It also integrates robust server-side rate limiting, powered by Upstash Redis, ensuring a stable and secure experience by fending off excessive client requests.
- **📝 Effortless CRUD Operations: Seamlessly Create, Read, Update, and Delete your valuable notes.
- **🚦 Smart Rate Limiting: Built-in server-side rate limiting using Upstash Redis to protect the application from potential abuse.
- **📱 Intuitive User Interface: A clean, minimalist, and responsive design providing an uncluttered and focused note-taking environment.
Frontend:
- ⚛️ React
- 🌬️ Tailwind CSS
- 🌼 DaisyUI
Backend:
- ⚙️ Node.js
- 📦 Express
- 💾 MongoDB
- 🍃 Mongoose
- ⚡ Upstash Redis (for efficient rate limiting)
Before diving in, ensure you have the following installed on your system:
- Node.js (comes with npm) - Download here
- MongoDB - Have a local instance running or use a cloud service like MongoDB Atlas
- Upstash Redis Account - Sign up at Upstash Redis
- Clone the repository:
git clone https://github.com/aryan19801/ThinkBoard.git cd ThinkBoard
- Configure Environment Variables:
- Navigate to the
serverdirectory and create a.envfile. - Populate it with your MongoDB connection details and Upstash Redis credentials:
MONGO_URI=your_mongodb_connection_string_here PORT=8000 UPSTASH_REDIS_REST_URL=your_upstash_redis_rest_url_here UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_rest_token_here - Navigate to the
- Install Dependencies:
# Install backend dependencies cd server npm install # Install frontend dependencies cd ../client npm install
- Launch the Application:
Your ThinkBoard app should now be live at
# Start the backend server npm run dev --prefix ../server # Start the React app npm start
http://localhost:5001! 🎉
ThinkBoard is proudly hosted live on Render! ☁️ To deploy your own instance, follow these straightforward steps:
- 📤 Push your code to your own GitHub repository.
- ➕ Create a new Web Service on Render and connect your repository.
- ⚙️ In your Render dashboard, head over to the Environment tab and add the necessary environment variables:
MONGO_URI- Your MongoDB connection string.UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN
- 🏗️ Configure the Build Command to first install dependencies for both the server and client, and then build the React frontend:
npm install --prefix server && npm install --prefix client && npm run build --prefix client
- 🚀 Set the Start Command to initiate your backend server.
- 🔗 Explore the live instance of ThinkBoard here: https://think-board-w2ye.onrender.com/
Author: Aryan
GitHub: https://github.com/aryan19801