Originally scoped to provide email/text message reminders to a user, has expanded to be able to send text/email to any email or phone. (texting requires reciever's carrier) Currently supports AT&T, T-Mobile, Verizon, Sprint, and email.
Clone this repo as well as the back-end component, found here.
In the backend root directory, run "npm install" to install the proper middleware and other needed components.
- A Sendgrid API key
- Some knowledge of PostgreSQL
- A cellphone number with one of the supported carriers
- An email address
NOTE: the current database needs to be configured to your database.
- In your terminal, run 'createdb {DATABASE}'
- In knexfile.js, change the connection to: 'postgres://localhost/{DATABASE}'.
- on Linux and Windows systems, PostgreSQL may require a username/password for PostgreSQL. Please refer to PostgreSQL documentation for details: https://www.postgresql.org/docs/10/static/client-authentication.html
- ie: 'postgres://{USERNAME}:{PASSWORD}@localhost/{DATABASE NAME}'
- Run the command "knex migrate:latest" to set up the table in the database.
NOTE: a Sendgrid API key is needed to use the application.
- Create "key.js" on the root directory.
- Inside set the key variable, ie: const key = 'key1234'
- export the key with 'module.export = key'
Once the database and connection has been set up, simply run "npm start" in the root directory of the backend.
Start by creating an entry. Date format is in YYYY/MM/DD, Time is in the 24hr style. (ie: 1644 is 4:44pm) Once an entry has been logged, the server will check every minute until the time has elapse. At this point, the server will send the entry and clear the entry from the list. NOTE: The entry will "remain" until the page is refreshed.
An entry can be edited at any time, keep in mind the date and time will reset to the current time. (to allow for easier measurement)
- Javascript
- SendGrid - service used to send messages.
- PostgreSQL - Used for the database.
- Knex - used for accessing database.
Kin Siu - Kinsiu00
This project is licensed under the MIT License. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.