MyMemo is a secure and user-friendly web application that allows users to write, save, and manage their notes effortlessly. This website ensures that users' notes are private and accessible only to them, thanks to robust authentication mechanisms.
- User Authentication: Users must authenticate to access their notes, ensuring privacy and security.
- Single Page Interface: Users can add and access their notes on a single page without the need to navigate to other pages.
- Note Update Feature: Users can easily edit or update their notes directly on the same page.
- Database: MongoDB
- Backend Framework: Express.js
- Frontend Library: React.js
- Runtime Environment: Node.js
- Authentication: JSON Web Token (JWT)
- Version Control: Git
- CSS Framework: Bootstrap
- Frontend Deployment: Vercel
- Backend Deployment: Render
- Secure Routes with JWT: Implemented JSON Web Tokens (JWT) to secure routes, ensuring that only authorized users can access their notes.
- Token Management: Learned to store authentication tokens in local storage and send them to the server for access to protected backend routes.
- Deployment: Successfully deployed the frontend on Vercel and the backend on Render, ensuring seamless connectivity between them.
🚀 Feel free to check out the live project at MyMemo. Remember to sign up or log in to save notes and enjoy!
To run this project locally, follow these steps:
-
Clone the Repository
git clone https://github.com/Pav125/Notes-mern.git cd Notes-mern
-
Install Backend Dependencies
cd backend npm install
-
Install Frontend Dependencies
cd ../frontend npm install
-
Set Up Environment Variables
Create a
.env
file in thebackend
directory and add your MongoDB URI and JWT secret:MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
-
Start the Backend Server
cd backend npm start
-
Start the Frontend Development Server
cd ../frontend npm start
-
Access the Website
Open your browser and navigate to
http://localhost:3000
.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new feature branch.
- Commit your changes.
- Push to the branch.
- Open a pull request.
For major changes, please open an issue to discuss what you would like to change.
For feedback, questions, or collaboration opportunities, please reach out via devipavan824@gmail.com.