Welcome to the Notes App, a full-stack application built with React and Express. This app allows users to create, update, delete, and view notes seamlessly. It also includes JWT authentication and email notifications for note additions.
Recording.2025-03-27.225800.mp4
The Notes App is designed to provide a smooth and efficient way to manage notes. It supports user authentication using JWT, allowing each user to have their own set of notes. The app sends email notifications when a new note is added.
- User Authentication: Secure JWT-based login and registration.
- CRUD Operations: Create, read, update, and delete notes.
- Responsive Design: User-friendly interface.
- Real-time Updates: Notes update in real-time.
- Email Notifications: Sends email notifications when a new note is added.
- API Documentation: Swagger UI for API documentation and testing.
- Frontend: React, Vite
- Backend: Express, Node.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- Email Service: NodeMailer
- Others: CSS, HTML
- Node.js
- npm or yarn
- MongoDB
- SMTP server credentials for email notifications
-
Clone the repository:
git clone https://github.com/sasithhansaka/notes-app-react-express.git cd notes-app-react-express
-
Install dependencies for both frontend and backend:
cd Frontend cd task npm install cd ../Backend npm install
-
Set up environment variables: Create a
.env
file in theBackend
directory and add the following:MONGO_URI=your_mongodb_uri PORT=3000 EMAIL=your_smtp_user EMAIL_PASSWORD=your_smtp_password
-
Start the backend server:
cd Backend npm run dev
-
Start the frontend development server:
cd ../Frontend cd task npm run dev
-
Open your browser and navigate to
http://localhost:3000
notes-app-react-express/
├── Backend/
│ ├── node_modules/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── utils/
│ │ └── ...
│ ├── .env
│ ├── package.json
│ └── server.js
├── Frontend/
│ ├── node_modules/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.js
│ │ └── ...
│ ├── .env
│ ├── package.json
│ └── vite.config.js
└── README.md
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
Distributed under the MIT License. See LICENSE
for more information.