Reminder.ai
A reminder app featuring time-progress alerts, email notifications, and speech recognition (set reminder by speech)
Demo
Screenshots
Landing Page:
Dashboard (To-do-list) Page:
Speech Recognition Page:
Documentation
GET /reminder
Returns all reminders
Authentication Required (session cookie)
Request Parameters
None
Response Body
[{
id: String,
title: String,
dueDate: Date,
startDate: Date,
memo: String,
emailNotification: Boolean,
setAlert: Boolean,
progressAlert: String,
percentProgress: Number
}]
Property Name | Description |
---|---|
id | The ID for the reminder |
title | The title of the reminder |
startDate | The start time set for the reminder |
dueDate | The due time set for the reminder |
memo | The memo written down for the reminder |
emailNotification | Whether the app will send email notifications of the reminder to the user if any alerts for the reminder is set |
setAlert | Whether alerts for the reminder is set. If set, push noitications to app will be sent by default |
progressAlert | The frequency of alerts set for the reminder. There are four types: 'On every 50% progress', 'On every 25% progress', 'On every 20% progress', 'On every 10% progress' |
percentProgress | The percentage of time that has past between its start time and now compared to the due time of the reminder |
POST /reminder
Create a reminder
Authentication Required (session cookie)
Request Body
{
title: String (required),
dueDate: Date,
startDate: Date,
memo: String,
setAlert: Boolean,
progressAlert: String
emailNotification: Boolean,
}
Property Name | Description |
---|---|
title | The title of the reminder. (Required) |
startDate | The start time for the reminder. Must set to enable progress alerts. |
dueDate | The due time for the reminder |
memo | The memo for the reminder |
setAlert | Whether to set progress alerts for the reminder. If set, push noitications of the progress alerts will be sent to app. Set to 'false' by default if startDate is null. |
progressAlert | If setAlert is 'true', the frequency of alerts to set for the reminder. There are four options: 'On every 50% progress', 'On every 25% progress', 'On every 20% progress', and 'On every 10% progress'. |
emailNotification | Whether the app will send email notifications of the reminder to the user if any alerts for the reminder is set |
Response Body
[{
id: String,
title: String,
dueDate: Date,
startDate: Date,
memo: String,
emailNotification: Boolean,
setAlert: Boolean,
progressAlert: String,
percentProgress: Number
}]
Desciption: Same as GET response body.
PUT /reminder/{id}
Update a reminder
Authentication Required (session cookie)
Route Parameter
Field | Description |
---|---|
id | The ID of the reminder to be updated (Required) |
Request Body
{
title: String,
dueDate: Date,
startDate: Date,
memo: String,
setAlert: Boolean,
progressAlert: String
emailNotification: Boolean,
}
(All fields are optional)
Description: Same as POST request body
Response Body
[{
id: String,
title: String,
dueDate: Date,
startDate: Date,
memo: String,
emailNotification: Boolean,
setAlert: Boolean,
progressAlert: String,
percentProgress: Number
}]
Desciption: Same as GET response body.
DELETE /reminder/{id}
Delete a reminder
Authentication Required (session cookie)
Route Parameter
Field | Description |
---|---|
id | The ID of the reminder to be deleted (Required) |
Request
None
Response Body
None
Status code 204 if success.
Built With
Front-End (HTML + CSS + JavaScript)
JQuery / Md-Bootstrap / D3.js / Bootbox.js / Moment.js
Back-End (Node.js + MongoDb)
Express.js / Passport.js / Socket.io / Nodemailer / Node-schedule
Testing
Chai / Mocha / Faker.js
Powered By
- Wit.ai API