InstaNotes is a powerful and intuitive notes app designed to help you quickly capture, organize, and manage your notes. Built with a modern tech stack, it offers a seamless user experience with features like authentication, authorization, and secure storage of notes.
- Frontend: Vite + React + Tailwind CSS
- Backend: Node.js + Express + MongoDB
- Authentication: jsonwebtoken, bcrypt.js
- Deployment: Frontend on Vercel, Backend on Render
Check out the live demo of InstaNotes here.
- Authentication & Authorization: Secure login and signup using JWT and bcrypt for password hashing.
- Create, Edit, Delete Notes: Seamlessly manage your notes with easy-to-use UI components.
- Pin Notes: Pin important notes for easy access.
- Responsive Design: Optimized for both desktop and mobile devices using Tailwind CSS.
- Search Functionality: Quickly search through your notes with integrated search features.
- API Integration: RESTful API endpoints to handle note-related actions.
frontend/
├── public/ # Public assets and files
├── src/
│ ├── assets/ # Static assets
│ ├── components/ # Reusable React components
│ ├── pages/ # Page components (e.g., login, signup, dashboard)
│ ├── utils/ # Utility functions (e.g., API requests)
│ ├── App.css # Global styles
│ ├── App.jsx # Main App component
│ ├── index.css # Tailwind and other global styles
│ └── main.jsx # Entry point for the React app
├── .gitignore # Ignored files and directories
├── README.md # Project readme
├── package.json # Frontend dependencies
├── postcss.config.js # PostCSS configuration
├── tailwind.config.js # Tailwind CSS configuration
├── vite.config.js # Vite configurationbackend/
├── models/ # Mongoose schemas for notes and users
├── .gitignore # Ignored files and directories
├── config.json # MongoDB Atlas connection settings
├── package-lock.json # Backend dependencies lock file
├── package.json # Backend dependencies
├── server.js # Main server file
├── utils.js # Utility functions (e.g., JWT handling)git clone https://github.com/your-username/InstaNotes.git- For Frontend:
cd frontend
npm install- For Backend:
cd backend
npm installCreate a .env file in the backend directory and add the following variables:
MONGO_URI=<your-mongodb-connection-string>
JWT_SECRET=<your-jwt-secret>- For Frontend:
cd frontend
npm install- For Backend:
cd backend
npm run server / devTo view the frontend of your application, open the following URL in your browser:
POST /api/auth/signup: Register a new userPOST /api/auth/login: Log in a userPOST /api/notes: Create a new noteGET /api/notes: Get all notes for a userPUT /api/notes/:id: Update a noteDELETE /api/notes/:id: Delete a note
Contributions are welcome! If you'd like to improve InstaNotes or fix any bugs, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature-branch) - Open a pull request