Skip to content

ThinkYr harnesses Vite, React, and an Express/MongoDB backend to deliver a lightning-fast, developer-friendly note-taking experience.

CodeCenturian/ThinkYr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 ThinkYr - Your Smart Note-Taking App (MERN Stack)

ThinkYr is a full-stack note-taking web application designed to provide a smooth, fast, and secure experience for personal productivity. Built with the MERN stack and enhanced by real-world production tools like Redis-based rate limiting and RESTful APIs, it delivers a minimal yet robust platform for managing notes efficiently.

This project is optimized for showcasing backend API design, frontend UI/UX using modern frameworks, rate-limiting, REST principles, and MongoDB-powered data persistence — making it ideal for internship applications at FAANG and top product companies.


🧰 Tech Stack & Tools

🖥️ Backend

Node.js Express MongoDB Mongoose Redis Rate Limiting

🎨 Frontend

React TailwindCSS DaisyUI React Router React Hot Toast

🛠 Dev Tools

Nodemon Dotenv Axios


🚀 Features

  • 📝 Add, update, delete personal notes
  • 👤 User-based note segregation via MongoDB schemas
  • 🚦 Rate-limiting using Upstash Redis (abuse prevention)
  • 📃 Clean UI with DaisyUI & TailwindCSS
  • 🚀 Optimized API design with modular routes and middleware
  • 📥 Responsive and mobile-friendly design

🔐 Environment Variables

Create a .env file in the root directory with the following:

MONGODB_URI=your_mongo_uri
PORT=5001

UPSTASH_REDIS_REST_URL=your_upstash_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_token

NODE_ENV=production

💻 Running Locally

git clone https://github.com/CodeCenturian/ThinkYr.git
cd ThinkYr
npm install
  • Add your .env values
  • Start the backend:
npm run dev

App will be running on: http://localhost:5001


📦 Folder Structure (Server)

📦server
 ┣ 📂controllers    // logic for note CRUD
 ┣ 📂models         // Mongoose schemas
 ┣ 📂routes         // Express routes
 ┣ 📂middleware     // rate limiter
 ┣ 📄server.js      // entry point
 ┗ 📄.env

📚 API Reference

📌 Notes

GET    /api/notes          // Get all notes for a user
POST   /api/notes          // Create a new note
PUT    /api/notes/:id      // Update note by ID
DELETE /api/notes/:id      // Delete note by ID

⚙️ Each note is associated with a user — logic handled server-side.


🔎 Internship-Optimized Highlights

This project demonstrates:

  • ✅ Scalable CRUD operations
  • ✅ RESTful API design
  • ✅ Rate-limiting using Redis (Upstash)
  • ✅ Component-based React UI
  • ✅ Mobile responsiveness
  • ✅ .env configuration, modular code

Ideal for backend-focused roles and full-stack internship portfolios.


📬 Contact


"ThinkYr – Because your thoughts deserve structure."

About

ThinkYr harnesses Vite, React, and an Express/MongoDB backend to deliver a lightning-fast, developer-friendly note-taking experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published