Remindable is a simple yet powerful reminder app built using the MERN stack (MongoDB, Express, React, Node.js). With Remindable, users can create reminders with a title, date, and time, and get notified via email at the specified date and time.
- User Registration & Authentication: Secure authentication system using JWT tokens.
- Create Reminders: Create reminders with a title, date, and time.
- Email Notifications: Receive reminder notifications via email at the specified date and time.
- Manage Reminders: Edit or delete existing reminders.
- Frontend: React.js,
- Backend: Node.js, Express.js, Mongoose
- Database: MongoDB
- Email Service: Nodemailer
- Scheduler: Node-cron
- Node.js (v14 or later)
- MongoDB (Local or Atlas)
- An Email Service (e.g., Gmail, Outlook) for sending notifications
-
Clone the Repository:
git clone https://github.com/ahmad-masud/Remindable.git cd Remindable
-
Backend Setup:
-
Navigate to the server folder:
cd server
-
Install dependencies:
npm install
-
Create a
.env
file in theserver
directory with the following variables:PORT=5000 MONGODB_URI=<your_mongodb_uri> TOKEN_SECRET=<your_jwt_secret>
-
Start the backend server:
npm start
-
-
Frontend Setup:
-
Navigate to the client folder:
cd ../client
-
Install dependencies:
npm install
-
Start the frontend development server:
npm start
-
- Register or log in to the application.
- Create a new reminder by providing a title, date, and time.
- At the specified time, receive an email notification with your reminder details.
- POST /api/users/register: Register a new user
- POST /api/users/login: Login an existing user
- DELETE /api/users/delete: Delete an existing user
- PUT /api/users/update: Update an existing user
- PUT /api/users/changePassword: Change the password of an existing user
- GET /api/reminders: Get all reminders for the logged-in user
- GET /api/reminders/:id: Get a reminder for the logged-in user
- POST /api/reminders/create: Create a new reminder
- PATCH /api/reminders/:id: Update an existing reminder
- DELETE /api/reminders/delete/:id: Delete a reminder
This project is licensed under the MIT License - see the LICENSE file for details.