Giter Club home page Giter Club logo

ican2_be's People

Contributors

mcat56 avatar

Stargazers

Benjamin Firth avatar

Watchers

James Cloos avatar  avatar

ican2_be's Issues

GraphQL Create a Conversation by Creating a Message

Build functionality to create a Conversation and Message as a GraphQL mutation. Example query:

query_string = <<-GRAPHQL
mutation {
createMessage(input: {
senderId: "#{@mentee.id}"
recipientId: "#{@mentor.id}"
body: "Hello. Let's start a conversation!"
}) {
message {
body
}
}
}

GraphQL Get all Conversations for a User

Build functionality to get all Conversations for a User as a GraphQL mutation. Example query:

query_string = <<-GRAPHQL
query($userId: String!) {
conversations(userId: $userId){
id
senderId
recipientId
}
}

User can view home page

As a user when I go to "/home" I will see my profile picture, an option to edit my profile, a welcome message, and a menu icon.

Create Profile Table

Table Includes:

gender - string
about_me - Text
image - string
field_of_interest - string
user_id - integer

Set up database in postgresql

Create a local PostgreSQL dev database.
Create a local PostgreSQL test database.
Create a Heroku production database.

Define MesageType in GraphQL

Define MessageType in GraphQL with associated attributes.

class MessageType < Types::BaseObject
field :id, Int, null: false
field :user_id, Int, null: false
field :body, String, null: false
field :conversation, Types::ConversationType, null: false
field :read, Boolean, null: false
end
end

Define UserType in GraphQL

Define UserType in GraphQL with associated attributes.

module Types
class UserType < Types::BaseObject
field :profile, Types::ProfileType, null: false
field :location, Types::LocationType, null: false
field :mentor_profile, Types::MentorProfileType, null: true

field :id, Int, null: false
field :name, String, null: false
field :email, String, null: false
field :password_digest, String, null: false
field :mentor, Boolean, null: false

end
end

GraphQL Delete a User

Build functionality to delete a User as a GraphQL mutation. Example query:

query_string = <<-GRAPHQL
mutation {
destroyUser(input: {
email: "[email protected]"
}) {
message
}
}

A user can register

As a user, when I go to '/register' and I fill in the fields for my profile:
-name (string)
-about me (text) - if mentor - how did you get here and where are you going?
-location (drop down)
-field (drop down)
-experience level (drop down)
-mentee (boolean)
-mentor (boolean)
-image (string)

If I select that I would like to be a mentor:
-what do you enjoy most?
-what are you looking to teach
-describe your work
-advice for the field

My information is saved to my profile and I am taken to my dashboard where I see my profile picture and I have a navigation bar menu to be able to home, inbox, search, and nearby meetups

Create README that meets documentation requirements

Write README that includes the project description, screenshots of the database schema, documentation for each endpoint, links to production sites and associated repositories, instructions to set up our application, and list of development team members.

GraphQL Get all Mentors

Build functionality to get all Mentors as a graphQL query. Example query:

query_string = <<-GRAPHQL
query {
mentors {
name
email
}
}

Create User Table

Create user_ table:

Name - String
email - string
password - string
Mentor - Boolean

Configure for GraphQL

Install graphql gem for rails.
Run "rails generate graphql:install" to setup graphql files.

Create Mentor_Profile Table

Table includes:

field_of_knowledge - string
experience_level - string
work_day_question - text
enjoyments_question - text
teaching_points_question- text
advice_question - text
user_id - integer

GraphQL Create a User

Build functionality to create a User as a graphQL mutation. Example query:

query_string = <<-GRAPHQL
mutation {
createUser(input: {
name: "Matt",
email: "[email protected]"
passwordDigest: "lalala"
mentor: false
gender: "Male"
fieldOfInterest: "Software"
aboutMe: "I love vegetables"
image: "this is an image string"
city: "Denver"
state: "CO"
zipCode: "90210"
}) {
user {
id
name
email
}
errors
}
}

Accessibility

Ensure all accessibility checks are passing, including color contrast, form labels, alt tags, etc.

GraphQL Update a User

Build functionality to update a User as a graphQL mutation. Example query:

query_string = <<-GRAPHQL
mutation {
updateUser(input: {
name: "May"
email: "[email protected]"
mentor: false
city: "Denver"
zipCode: "66236"
}) {
user {
name
mentor
}
errors
}
}

Create Locations Table

Table Includes:

city - string
state - string
zip_code - string
meetup_radius - string
user_id - integer

Setup Initial Database

Create database migrations for users_table
Add seed data for users. One for each member of the team.

GraphQL Delete a Message

Build functionality to delete a Message as a GraphQL mutation. Example query:

query_string = <<-GRAPHQL
mutation {
destroyMessage(input: {
id: "#{@message.id}"
}) {
message
}
}

GraphQL Get all Messages by Conversation

Build functionality to get all Messages for a Conversation as a GraphQL mutation. Example query:

query_string = <<-GRAPHQL
query($sender: String!, $recipient: String!) {
messages(sender: $sender, recipient: $recipient){
body
read
}
}

Create Messages Table

Table Includes:

body - text
sender_id - integer
receiver_id - integer
conversation_id - integer

Define ConversationType in GraphQL

Define ConversationType in GraphQL with associated attributes.

module Types
class ConversationType < Types::BaseObject
field :id, Int, null: false
field :sender_id, Int, null: false
field :recipient_id, Int, null: false
end
end

Set up MeetUp Service

Using current location to hit meetup api to find meetups within a certain radius based on user preference

GraphQL Get a User by ID

Build functionality to get a user by ID as a graphQL query. Example query:

query_string = <<-GRAPHQL
query($id: String!) {
users(id: $id) {
name
}
}

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.