Skip to content
This repository has been archived by the owner on Jan 23, 2018. It is now read-only.

An application to gather when is good for a group to meet up.

License

Notifications You must be signed in to change notification settings

johnbwoodruff/scheduling-hero-api

Repository files navigation

Scheduling Hero

Build Status bitHound Dependencies bitHound Code

Scheduling Hero is a web app for determining when is best to meet with a group of people.

Contributing

Please see CONTRIBUTING for the repository's guidelines for contribution.

Prerequisites

Ensure you have the following installed on your machine:

  • Node.js & NPM
  • Docker/Docker for Mac/Docker for Windows

NOTE: It is recommended if you are on a Mac or Windows machine you not use Docker Toolbox/boot2docker, otherwise you will need to do lots of extra configuration on your own.

Getting Started

After cloning the repo, cd into the directory and run npm install.

Google Credentials

NOTE: YOU WILL NOT BE ABLE TO RUN THIS APP WITHOUT FOLLOWING THESE INSTRUCTIONS

This app uses Google OAuth2 for authentication. As such, you will need to set up a Google Cloud Console Project. Follow the instructions below to do so:

  • Visit Google Cloud Console
  • Click on the Create Project button
  • Enter Project Name, then click the Create button
  • Then click on Enable and manage APIs under Use Google APIs and then select the Library tab in the sidebar.
  • Click on Google+ API under Social APIs, then click Enable
  • Next, click on the Credentials tab in the sidebar
  • Select the OAuth consent screen tab and fill out all the required fields, then click Save.
  • Click on the Credentials tab and select OAuth Client ID under the Create Credentials dropdown.
  • Select Web Application, then fill out the required fields. Use the following:
  • Application Type: Web Application
  • Authorized Javascript origins: http://localhost:3000
  • Authorized redirect URI: http://localhost:3000/auth/google/callback
  • Click on the Create button
  • Create a file in the root directory of this project named .env. In that file, paste the following:
GOOGLE_ID=<GOOGLE CLIENT ID>
GOOGLE_SECRET=<GOOGLE CLIENT SECRET>

Copy and paste the Client ID and Client secret keys from your newly created project into your .env file as shown above.

You will also need a domain and api key from mailgun so emails send correctly. Add those as well to your .env file as shown below.

MAILGUN_KEY=<MAILGUN API KEY>
MAILGUN_DOMAIN=<MAILGUN DOMAIN>

Running the App

To run the app, in the root directory, simply run the following commands:

# Build Image
$ docker-compose build
# Run the image and start nodemon for livereload
$ docker-compose up

When the image is running successfully, you'll be able to access it by visiting http://localhost:3000/hello. Upon any changes you make to the code, nodemon will reload the server after you've saved the file.

API Documentation

For documenting the API this app uses JSDoc. To serve the docs, simply run npm run docs.

Wireframes

This app is still very heavily being wireframed. If you'd like to follow along with the progress, check out the Moqups Project.

License

Scheduling Hero is released under the MIT License.

About

An application to gather when is good for a group to meet up.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published