ican2_be's People
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 rate mentor
User can flag/report unsafe mentors
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.
Show what meetups your connections are attending
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
Finding mentors by geocoding
Setup React Native App
Set up react native app
Configure for heroku deployment
CI/CD
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
}
}
Set Up RAILS App
Start out app in rails
Set up RSPEC for testing
Create Conversations Table
Create Conversations table
sender_id - is a user_id
recipient_id - is another user_id
Auth
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.
Set up google service
Create service to hit google api for current location
GraphQL Get all Mentors
Build functionality to get all Mentors as a graphQL query. Example query:
query_string = <<-GRAPHQL
query {
mentors {
name
email
}
}
Create Conversations Table
Table Includes:
sender_id - integer
receiver_id - integer
Create User Table
Create user_ table:
Name - String
email - string
password - string
Mentor - Boolean
User can view a single mentor profile
As a user I can view a detailed mentor profile that contains a mentor picture, name, location, field, and answers to questions.
Create Heroku app for django app deployment with travis CI/CD
Create new heroku app
Link to travis CI/CD
Link to back end repo
deploy master branch
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
Create Connections Table
Table Includes:
mentee_id - integer
mentor_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.
User can navigate to different pages through the menu
As a user when I click on the menu icon I have the option to navigate to:
-
/home
-
/meetups
-
/inbox
-
/search
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
}
}
User can search through profiles
As a user when I go to /search I can view other profiles and add filters like field, distance, expertise level.
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
}
}
Setup django-messages
TBD - Research Day 1
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
Create Messages Table
Create Messages table
body - text
read - boolean
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
Deploy to Heroku using CI/CD
Set up Heroku deployment using Travis CI.
GitHub auto deploys to Heroku using CI/CD.
Users can view nearby meetups
As a user, when I go to /meetups I can view meetups that are near me and in my field of interest.
User can message a mentor
As a user I can message a mentor by clicking on message button.
Setup Rails Application
Create Ruby on Rails application -- called ican2-BE
Add rspec Gem
Add GraphQL Gem
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
}
}
Create design/wireframe for mobile app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.