├── lib
├── assets
│ └── .keep
└── tasks
│ └── .keep
├── public
├── favicon.ico
├── apple-touch-icon.png
├── apple-touch-icon-precomposed.png
├── robots.txt
├── 500.html
├── 422.html
└── 404.html
├── Procfile
├── app
├── models
│ ├── concerns
│ │ └── .keep
│ ├── guest.rb
│ ├── host.rb
│ ├── application_record.rb
│ ├── event.rb
│ └── user.rb
├── controllers
│ ├── concerns
│ │ └── .keep
│ ├── application_controller.rb
│ └── api_controller.rb
├── helpers
│ └── application_helper.rb
└── graph
│ ├── meetup_event_planner_schema.rb
│ ├── object_schema.rb
│ ├── types
│ ├── host_input_type.rb
│ ├── guest_input_type.rb
│ ├── host_type.rb
│ ├── guest_type.rb
│ ├── event_type_enum.rb
│ ├── mutation_type.rb
│ ├── user_signup_input_type.rb
│ ├── user_type.rb
│ ├── profile_input_type.rb
│ ├── event_input_type.rb
│ ├── auth_user_type.rb
│ ├── event_type.rb
│ └── query_type.rb
│ ├── fields
│ └── fetch_field.rb
│ └── mutations
│ ├── event_mutations.rb
│ └── user_mutations.rb
├── vendor
└── assets
│ ├── javascripts
│ └── .keep
│ └── stylesheets
│ └── .keep
├── client
├── Procfile
├── config
│ ├── testing
│ │ ├── __mocks__
│ │ │ └── .gitkeep
│ │ └── preprocessor.js
│ ├── generators
│ │ ├── component
│ │ │ ├── styles.scss.hbs
│ │ │ ├── export.js.hbs
│ │ │ ├── test.js.hbs
│ │ │ ├── README.md.hbs
│ │ │ ├── stateless.js.hbs
│ │ │ ├── es6class.js.hbs
│ │ │ └── index.js
│ │ ├── container
│ │ │ ├── styles.scss.hbs
│ │ │ ├── export.js.hbs
│ │ │ ├── constants.js.hbs
│ │ │ ├── actions.js.hbs
│ │ │ ├── reducer.test.js.hbs
│ │ │ ├── reducer.js.hbs
│ │ │ ├── README.md.hbs
│ │ │ ├── actions.test.js.hbs
│ │ │ ├── test.js.hbs
│ │ │ └── index.js.hbs
│ │ ├── page
│ │ │ ├── export.js.hbs
│ │ │ ├── index.module.scss.hbs
│ │ │ ├── route.js.hbs
│ │ │ ├── index.js.hbs
│ │ │ ├── README.md.hbs
│ │ │ └── index.js
│ │ ├── utils
│ │ │ ├── trimTemplateFile.js
│ │ │ └── componentNameCheck.js
│ │ └── index.js
│ ├── templates
│ │ └── _index.html
│ └── webpack
│ │ └── webpack.test.config.js
├── app
│ └── src
│ │ ├── containers
│ │ ├── EventContainer
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ ├── LoginContainer
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ ├── constants.js
│ │ │ ├── tests
│ │ │ │ ├── reducer.test.js
│ │ │ │ ├── index.test.js
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── actions.test.js
│ │ │ ├── utils
│ │ │ │ └── validation.js
│ │ │ ├── actions.js
│ │ │ └── reducer.js
│ │ ├── SignupContainer
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ ├── constants.js
│ │ │ ├── authUserDataFragment.js
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ ├── actions.test.js
│ │ │ │ └── reducer.test.js
│ │ │ ├── utils
│ │ │ │ └── validation.js
│ │ │ ├── reducer.js
│ │ │ └── actions.js
│ │ ├── CreateEventContainer
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ ├── constants.js
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ ├── actions.test.js
│ │ │ │ └── reducer.test.js
│ │ │ ├── reducer.js
│ │ │ ├── utils
│ │ │ │ └── validations.js
│ │ │ └── actions.js
│ │ ├── ProfileContainer
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ ├── authUserDataFragment.js
│ │ │ ├── constants.js
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ └── actions.js
│ │ ├── EventsContainer
│ │ │ ├── constants.js
│ │ │ ├── actions.js
│ │ │ ├── README.md
│ │ │ ├── tests
│ │ │ │ ├── actions.test.js
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ ├── reducer.test.js
│ │ │ │ └── index.test.js
│ │ │ └── reducer.js
│ │ ├── LandingContainer
│ │ │ ├── README.md
│ │ │ ├── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ │ └── index.module.scss
│ │ └── index.js
│ │ ├── components
│ │ ├── LoadingIndicator
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ ├── tests
│ │ │ │ └── index.test.js
│ │ │ └── index.js
│ │ ├── Navbar
│ │ │ ├── logo.png
│ │ │ ├── README.md
│ │ │ ├── index.module.scss
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ └── index.js
│ │ ├── App
│ │ │ ├── constants.js
│ │ │ ├── README.md
│ │ │ ├── reducer.js
│ │ │ ├── actions.js
│ │ │ └── index.js
│ │ ├── LoginForm
│ │ │ ├── utils
│ │ │ │ └── error.js
│ │ │ ├── index.module.scss
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── mocks.js
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── SignupForm
│ │ │ ├── utils
│ │ │ │ └── error.js
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── mocks.js
│ │ ├── ToastMessage
│ │ │ ├── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ │ ├── index.js
│ │ │ └── README.md
│ │ ├── SingleEvent
│ │ │ ├── README.md
│ │ │ ├── index.module.scss
│ │ │ └── tests
│ │ │ │ └── index.test.js
│ │ ├── AppFooter
│ │ │ ├── README.md
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ ├── index.module.scss
│ │ │ └── index.js
│ │ ├── EventInfo
│ │ │ ├── utils
│ │ │ │ └── dates.js
│ │ │ ├── index.module.scss
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── AuthFormFooter
│ │ │ ├── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── EventForm
│ │ │ ├── utils
│ │ │ │ └── error.js
│ │ │ ├── index.module.scss
│ │ │ ├── tests
│ │ │ │ └── index.test.js
│ │ │ └── README.md
│ │ ├── ToolTip
│ │ │ ├── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ │ ├── index.js
│ │ │ └── README.md
│ │ ├── EditableField
│ │ │ ├── tests
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.js.snap
│ │ │ │ └── index.test.js
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── UserProfile
│ │ │ ├── README.md
│ │ │ ├── tests
│ │ │ │ ├── index.test.js
│ │ │ │ └── mocks.js
│ │ │ └── index.module.scss
│ │ └── index.js
│ │ ├── pages
│ │ ├── LogoutPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── EventsPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── LandingPage
│ │ │ ├── index.module.scss
│ │ │ └── index.js
│ │ ├── ProfilePage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── NotFoundPage
│ │ │ ├── index.module.scss
│ │ │ └── index.js
│ │ ├── EventPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── LoginPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── CreateEventPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ ├── SignupPage
│ │ │ ├── index.module.scss
│ │ │ ├── README.md
│ │ │ └── index.js
│ │ └── index.js
│ │ ├── index.js
│ │ ├── apolloClient.js
│ │ ├── reducers.js
│ │ └── routes.js
├── .eslintignore
├── server.js
├── .gitattributes
├── .flowconfig
├── server
│ ├── public
│ │ ├── app
│ │ │ └── src
│ │ │ │ └── components
│ │ │ │ └── Navbar
│ │ │ │ └── logo.00e7c4cf372ade679404a6cf8f80704f.png
│ │ └── index.html
│ └── app.js
├── .eslintrc
├── index.html
├── .gitignore
└── LICENSE
├── config
├── initializers
│ ├── graphiql.rb
│ ├── mime_types.rb
│ ├── session_store.rb
│ ├── application_controller_renderer.rb
│ ├── filter_parameter_logging.rb
│ ├── cookies_serializer.rb
│ ├── backtrace_silencers.rb
│ ├── wrap_parameters.rb
│ ├── inflections.rb
│ └── new_framework_defaults.rb
├── spring.rb
├── boot.rb
├── environment.rb
├── cable.yml
├── routes.rb
├── puma.rb
├── locales
│ └── en.yml
├── application.rb
└── environments
│ ├── test.rb
│ └── development.rb
├── .gitattributes
├── bin
├── bundle
├── web
├── rake
├── rails
├── spring
├── update
└── setup
├── config.ru
├── db
├── migrate
│ ├── 20161003004530_add_location_to_event.rb
│ ├── 20161004010331_add_user_to_event.rb
│ ├── 20161012003551_add_employer_to_user.rb
│ ├── 20161003233357_add_auth_token_to_user.rb
│ ├── 20161003005655_change_event_type_to_event_type.rb
│ ├── 20161004003535_change_auth_token_on_user.rb
│ ├── 20161002213314_add_host_to_event.rb
│ ├── 20161002211618_add_attributes_to_user.rb
│ ├── 20161002213058_create_hosts.rb
│ ├── 20161004204156_add_avatar_to_user.rb
│ ├── 20161003004858_create_guests.rb
│ ├── 20161002211930_create_events.rb
│ └── 20161002210703_devise_create_users.rb
└── seeds.rb
├── Rakefile
├── spec
├── models
│ ├── event_spec.rb
│ ├── host_spec.rb
│ ├── guest_spec.rb
│ └── user_spec.rb
├── rails_helper.rb
└── spec_helper.rb
├── .gitignore
├── LICENSE
├── Gemfile
└── npm-debug.log
/lib/assets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: bin/web
2 |
--------------------------------------------------------------------------------
/app/models/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/assets/javascripts/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/Procfile:
--------------------------------------------------------------------------------
1 | web: node server.js
2 |
--------------------------------------------------------------------------------
/client/config/testing/__mocks__/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/apple-touch-icon-precomposed.png:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/app/src/containers/EventContainer/index.module.scss:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/client/.eslintignore:
--------------------------------------------------------------------------------
1 | app/build/
2 | app/dist/
3 | webpack.config.*.js
4 |
--------------------------------------------------------------------------------
/app/models/guest.rb:
--------------------------------------------------------------------------------
1 | class Guest < ApplicationRecord
2 | belongs_to :event
3 | end
4 |
--------------------------------------------------------------------------------
/app/models/host.rb:
--------------------------------------------------------------------------------
1 | class Host < ApplicationRecord
2 | has_many :events
3 | end
4 |
--------------------------------------------------------------------------------
/client/app/src/containers/LoginContainer/index.module.scss:
--------------------------------------------------------------------------------
1 | .login {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/client/app/src/containers/SignupContainer/index.module.scss:
--------------------------------------------------------------------------------
1 | .signup {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/client/config/generators/component/styles.scss.hbs:
--------------------------------------------------------------------------------
1 | .{{ camelCase name }} {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/client/config/generators/container/styles.scss.hbs:
--------------------------------------------------------------------------------
1 | .{{ camelCase name }} {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/client/server.js:
--------------------------------------------------------------------------------
1 | require('babel-core/register');
2 | var app = require('./server/app');
3 |
--------------------------------------------------------------------------------
/client/app/src/containers/CreateEventContainer/index.module.scss:
--------------------------------------------------------------------------------
1 | .createEvent {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/client/.gitattributes:
--------------------------------------------------------------------------------
1 | *.scss linguist-language=JavaScript
2 | *.html linguist-language=JavaScript
3 |
--------------------------------------------------------------------------------
/client/app/src/containers/ProfileContainer/index.module.scss:
--------------------------------------------------------------------------------
1 | .profile {
2 | margin-top: 50px;
3 | }
4 |
--------------------------------------------------------------------------------
/client/app/src/containers/EventsContainer/constants.js:
--------------------------------------------------------------------------------
1 | export const INCREMENT_CURRENT = 'INCREMENT_CURRENT';
2 |
--------------------------------------------------------------------------------
/client/app/src/components/LoadingIndicator/index.module.scss:
--------------------------------------------------------------------------------
1 | .loadingIndicator {
2 | margin-top: 20px;
3 | }
4 |
--------------------------------------------------------------------------------
/app/models/application_record.rb:
--------------------------------------------------------------------------------
1 | class ApplicationRecord < ActiveRecord::Base
2 | self.abstract_class = true
3 | end
4 |
--------------------------------------------------------------------------------
/client/config/generators/component/export.js.hbs:
--------------------------------------------------------------------------------
1 | $1
2 | export {{ properCase name }} from './{{ properCase name }}';
3 |
--------------------------------------------------------------------------------
/config/initializers/graphiql.rb:
--------------------------------------------------------------------------------
1 | GraphiQL::Rails.config.headers['Authorization'] = -> (context) { 'bgPytR_GEtyre6C93num' }
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.scss linguist-language=JavaScript
2 | *.html linguist-language=JavaScript
3 | *.css linguist-language=JavaScript
4 |
--------------------------------------------------------------------------------
/client/config/generators/page/export.js.hbs:
--------------------------------------------------------------------------------
1 | $1
2 | export {{ properCase name }}Page from './{{ properCase name }}Page/index';
3 |
--------------------------------------------------------------------------------
/client/app/src/pages/LogoutPage/index.module.scss:
--------------------------------------------------------------------------------
1 | .container {
2 | height: 100vh;
3 | width: 100%;
4 | }
5 | .logout {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/client/config/generators/container/export.js.hbs:
--------------------------------------------------------------------------------
1 | $1
2 | export {{ properCase name }}Container from './{{ properCase name }}Container';
3 |
--------------------------------------------------------------------------------
/client/config/generators/container/constants.js.hbs:
--------------------------------------------------------------------------------
1 | export const {{ uppercase name }}_DEFAULT_ACTION = '{{ uppercase name }}_DEFAULT_ACTION';
2 |
--------------------------------------------------------------------------------
/app/controllers/application_controller.rb:
--------------------------------------------------------------------------------
1 | class ApplicationController < ActionController::Base
2 | protect_from_forgery with: :exception
3 | end
4 |
--------------------------------------------------------------------------------
/app/graph/meetup_event_planner_schema.rb:
--------------------------------------------------------------------------------
1 | MeetupEventPlannerSchema = GraphQL::Schema.new(
2 | query: QueryType,
3 | mutation: MutationType
4 | )
5 |
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/client/app/src/components/Navbar/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RyanCCollins/meetup-event-planner/HEAD/client/app/src/components/Navbar/logo.png
--------------------------------------------------------------------------------
/client/config/generators/page/index.module.scss.hbs:
--------------------------------------------------------------------------------
1 | .container {
2 | height: 100vh;
3 | width: 100%;
4 | }
5 | .{{ camelCase name }} {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/config/spring.rb:
--------------------------------------------------------------------------------
1 | %w(
2 | .ruby-version
3 | .rbenv-vars
4 | tmp/restart.txt
5 | tmp/caching-dev.txt
6 | ).each { |path| Spring.watch(path) }
7 |
--------------------------------------------------------------------------------
/client/.flowconfig:
--------------------------------------------------------------------------------
1 | [ignore]
2 | .*/node_modules/fbjs/.*
3 | .*/node_modules/editions/.*
4 |
5 | [include]
6 |
7 | [libs]
8 |
9 | [options]
10 |
--------------------------------------------------------------------------------
/client/app/src/components/App/constants.js:
--------------------------------------------------------------------------------
1 | export const AUTHENTICATE_USER = 'AUTHENTICATE_USER';
2 | export const INVALIDATE_USER = 'INVALIDATE_USER';
3 |
--------------------------------------------------------------------------------
/client/config/generators/page/route.js.hbs:
--------------------------------------------------------------------------------
1 |
If you are the application owner check the logs for more information.
64 |Maybe you tried to change something you didn't have access to.
63 |If you are the application owner check the logs for more information.
65 |You may have mistyped the address or the page may have moved.
63 |If you are the application owner check the logs for more information.
65 |