Git Product home page Git Product logo

remindr's Introduction

Travis Badge

Build Status

RemindR App: Never go a day without a reminder

Contents

Developers:

  • Andrew Peacock
  • Ashton Ellis
  • Jenny Lawrence
  • Kevin Hwangpo

Introduction:

RemindRis the back-end (server-side) application that reminds you when you have something to do. Users who want to use this app will be able to create an account/profile. Users will be able to send notification texts. Userees will be sent scheduled SMS messages which will let them know when an event is ready. Some examples include but are not limited to a pill that needs to be taken or you and a group of friends that need to make sure you follow through or just simply give your mom a remindR that you're hungry and need food.

Getting-Started:

  • npm i the specific packages needed to work on this app.
  • Set up an AWS account (they are free for the first year you sign up)
  • Make a Twilio account and follow their docs on how to connect your phone number to receive SMS messages (you will be credited '$15' worth of SMS messages) ((messages sent are 3/4 of a penny, so you can run many tests before you run out))

Running Locally:

You will need a Twilio Number

In Your.env File:

  • PORT: defaults to 3000, set to 5000 for testing purposes
  • NODE_ENV: set to development
  • MONGODB_URI: set to mongodb://localhost/testing
  • SECRET_KEY: set to your own personal randomized sequence of alphanumeric characters
  • TWILIO_ACCOUNT_SID: Twilio will give you this
  • TWILIO_AUTH_TOKEN: check Twilio account.
  • TWILIO_NUMBER: check Twilio account for reference
  • MY_NUMBER: personal phone number for testing purposes
  • AWS_BUCKET= fill in your own name when making your bucket on aws account.
  • AWS_SECRET_ACCESS_KEY: set to your own personal randomized sequence of alphanumeric characters
  • AWS_ACCESS_KEY_ID= provided by aws account

Routes

Account POST: http://localhost:3000/api/accounts When making a post request you are creating a new account. GET: http://localhost:3000/api/accounts/:id This will grab information from Database by id.

Profile POST: http://localhost:3000/api/profiles When making a post request you are creating a new profile. GET: http://localhost:3000/api/profiles/:id This will grab information from Database by id.

Images POST: http://localhost:3000/api/images When making a post request you are creating a new image. GET: http://localhost:3000/api/images/:id This will grab information from Database by id. PUT: http://localhost:3000/api/images/:id This route will allow the receiver to update a image with a response. DELETE: http://localhost:3000/api/images/:id This will delete a particuluar image by id.

Messages POST: http://localhost:3000/api/messages When making a post request you are creating a new message. GET: http://localhost:3000/api/messages/:id This will grab information from Database by id. PUT: http://localhost:3000/api/messages/:id This route will allow the receiver to update a message with a response. DELETE: http://localhost:3000/api/messages/:id This will delete a particuluar message by id.

Reminder POST: http://localhost:3000/api/reminder When making a post request you are creating a new reminder. GET: http://localhost:3000/api/reminder/:id This will grab information from Database by id. PUT: http://localhost:3000/api/reminder/:id This route will allow the receiver to update a reminder with a response. DELETE: http://localhost:3000/api/reminder/:id This will delete a particuluar reminder by id.

Packages

npm i For those of you who want to start and use our back-end RemindR app, download all required packages!

  • Aws-sdk - Amazon Simple Storage Service (AWS S3) is simple but powerful cloud data storage solution. It can hold assets of any size.
  • Twilio - A cloud communications platform to allow user to send SMS messages
  • Express - HTTP server routing, routing refers to application’s endpoints (URIs) respond to client requests.
  • Mongoose - Simply used this service for helpful CRUD methods and additional schema properties
  • MongoDB - Allows developers to create schemas that store and query JSON like documents.
  • Dotenv - Loads environment variables from a .env file into process.env.
  • Faker - Generates fake data that we use for usernames/emails/password/phone#.
  • Winston - Used for error logging.
  • Multer - Is essentially used as a body-parser.
  • jsonwebtoken - We wanted our users to be granted tokens to access their own accounts/profiles.

ERD

alt text

remindr's People

Contributors

kgamer007 avatar jplaw avatar ashtonkellis avatar todoville avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.