Ever wanted to send and schedule mail/mails at some specific day, date, time of the year with a click of a button? Here is a web app handcrafted to make your life easier.
To start the frontend:
git clone https://github.com/Kaustuv942/mails24.git
cd frontend
npm install
npm start
Firing up the frontend:
cd ..
cd backend
npm install
npm install -g nodemon
nodemon index.js
Home page shows the list of the upcoming scheduled mails On clicking a particular item of the list, a modal shows the complete information of the mail including recipients, cc, subject and body.
History page shows the list of the mails which are already sent. Each list item would consist of the recipient name , subject and timestamp of it last delivery On clicking a particular item of the list, a modal shows the complete information of the mail including recipients, cc, subject and body.
Compose Page gives the user 4 options : Recurring, Weekly , Monthly , Yearly If the user fills in all the details and clicks on the schedule button without choosing any of the options i.e Recurring / Weekly / Monthly / Yearly , then the mail would be treated like a normal mail. Recurring : The page would give the user two extra options to select the time interval and the number of recurring mails. Weekly : The page would give the user three extra options to select the day of the week, time and the number of recurring mails. Monthly : The page would give the user three extra options to select the date of the month, time and the number of recurring mails. Yearly : The page would give the user four extra options to select the month , date of the month, time and the number of recurring mails.
Users can sign in using OAuth(Google) or using the built-in authentication module of our app. Users must sync their gmail , to use the features of home, history and compose pages.
Browse to http://localhost:3000 to see the app in action!
Registers the users.
{
"email": "[email protected]",
"password": "123456"
}
Logs in the user
{
"email": "[email protected]",
"password": "123456"
}
Syncs user's gmail
{
"accessToken": "ya29.a0AfH6SMD5C-qjXJ2XOS63iZ6_nha5koKD5U7iUozZzKU-yBLnFpg5oL9DpKdnY3uLsasdmRj73XSDrDDR9SuGR2k_019KVs1ptwK3YzMJDyzDtbSSc1F1T6h4cFUMm5cQh0faOrD5gK-W9VhmSVDvk_IdomM8",
"profileObj": {
"googleId": "12696007155820138566",
"imageUrl": "https://lh3.googleusercontent.com/a-/zCQ_lNFuQ=s96-c",
"email": "[email protected]",
"name": "Example User",
}
}
Composes and sends the mail at the given schedule
{
"mail": {
"from": "[email protected]",
"to": "[email protected], [email protected]",
"subject": "FliprHacks: Api endpoint check",
"text": "This is to inform you to attend the conference channel at once"
},
"schedule":{
"type": "Recurring",
"time": "30",
"max": "12"
}
}
Deletes the schedules of the mail instance
Schedule of mails to be sent in the future.
History info of the sent mails
User info
- Avik Ghatak
- Ramyanil Raha
- Kaustuv Kanchan Chattopadhyay
- Ayush Pratap Singh