ScheduSend is a web application that allows users to schedule SMS messages for sending at a later time. This project integrates with Twilio for sending SMS messages and Nodemailer for sending OTP verification emails.
- User authentication (signup, login, OTP verification)
- Schedule SMS messages for future delivery
- Email verification using OTP
- Responsive design for mobile and desktop
Before you begin, ensure you have met the following requirements:
- Node.js installed on your local machine
- A Twilio account for sending SMS messages
- A Gmail account for sending OTP verification emails
To install and run ScheduSend locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/ScheduSend.git
-
Navigate to the project directory:
cd ScheduSend
-
Install dependencies:
npm install
-
Set up environment variables: Create a .env file in the root directory and add the following variables:
PORT=3000 TWILIO_ACCOUNT_SID=your_twilio_account_sid TWILIO_AUTH_TOKEN=your_twilio_auth_token
Replace your_twilio_account_sid and your_twilio_auth_token with your actual Twilio credentials.
-
Run the application:
npm start
The application should now be running on http://localhost:3000.
- Sign up for a new account or login if you already have one.
- Verify your email address using the OTP sent to your email.
- Once logged in, navigate to the "Send Message" page.
- Enter the recipient's name, phone number, message content, and the desired send time.
- Click the "Send Message" button to schedule the SMS for sending.
- You'll be redirected to the "Send Message" page where you can see the status of your scheduled message.
- Node.js
- Express.js
- MongoDB (with Mongoose)
- Twilio (for sending SMS messages)
- Nodemailer (for sending OTP verification emails)
- HTML/CSS (with Bootstrap)
- Handlebars (for templating)
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch (git checkout -b feature)
- Make your changes
- Commit your changes (git commit -am 'Add feature')
- Push to the branch (git push origin feature)
- Create a new pull request
Watch the demo video below to see how the ScheduSend works: