Crone Scheduler is a web application that allows users to create schedules with repeating options (daily, weekly, monthly). The application uses cron jobs to send reminder emails on the specified dates.
- User registration and login
- Create schedules with the following repeat options:
- Daily
- Weekly
- Monthly
- Automatic email reminders using cron jobs
-
Clone the repository:
git clone https://github.com/yourusername/crone-scheduler.git cd crone-scheduler
-
Install server dependencies:
cd server npm install
-
Install client dependencies:
cd ../client npm install
-
Create a
.env
file in the server directory with the following variables:
PORT=3000
MONGO_URI='your_mongo_uri'
TRANSPORTER_USERNAME= 'email'
TRANSPORTER_PASSWORD= 'app password for email'
-
Start the server:
cd ../server npm start
-
Create a
.env
file in the server directory with the following variables:
VITE_BACKEND_API='http://localhost:3000/api/v1/users/'
- Start the client:
cd ../client
npm run dev
- Access the application at
http://localhost:5173
.
- Register a new user account.
- Log in with your email and password to access the scheduler.
- Click on "New".
- Fill in the schedule details:
- Name
- Date
- Type (None, Daily, Weekly, Monthly)
- Save the schedule.
- Ensure your email address is correct.
- The application will send reminder emails based on the schedule type:
- Daily: Every day
- Weekly: On the same day of each week
- Monthly: On the same date each month
- Frontend: React, Vite, Tailwind CSS, Shadcn UI
- Backend: Node.js, Express
- Database: MongoDB, Mongoose
- Email: Nodemailer
- Scheduling: node-cron