Posts

Showing posts from June, 2018

Week 20 - Session 1 - Class Project (Week 1) - Git Branching + Merging

Image
blog image source Branches are most powerful when you're working on a team. You can work on your own part of a project from your own branch, pull updates, and then merge all your work into the main branch when it's ready. Working with branches: git branch - to see what branches you have, and to check which one you’re currently on. git branch <branch_name> - to create a new branch off of the current branch. git branch -d <branch_name> - to delete a branch. git checkout <branch_name> - to change onto a branch. Merging is Git's way of putting a forked history back together again. The git merge command lets you take the independent lines of development created by git branch and integrate them into a single branch. Git Branch - https://www.atlassian.com/git/tutorials/using-branches Git Branching - https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging git - the simple guide - http://rogerdudler.github.io/git-guide/

Week 19 - Session 2 - Project Planning Tools

Image
blog image source Trello ; a web-based Kanban project management application. A Trello board has four key components: Boards - a board represents a project or a place to keep track of information. Whether you are launching a new website or planning a vacation, a Trello board is the place to organize your tasks and collaborate with your colleagues, family, or friends. Lists - lists keep cards organized in their various stages of progress. They can be used to create a workflow where cards are moved across lists from start to finish, or simply act as a place to keep track of ideas and information. Cards - the fundamental unit of a board is a card. Cards are used to represent tasks and ideas. A card can be something that needs to get done, like a blog post to be written or something that needs to be remembered, like company vacation policies. Menu - the menu is where you manage members, control settings, filter cards, and enable Power-Ups. You can also see all of the activity tha

Week 19 - Session 1 - Heroku

Image
blog image source Heroku is a cloud platform as a service (PaaS) for Ruby, Node.js, Python, Go, PHP, and JVM-based applications, where developers manage their applications without the need for servers or administration. It features Git-based, GitHub, and API deployment strategies. Applications on Heroku are managed with Git. Simply pushing your codebase to Heroku is all it takes to deploy your application. Applications that are run on Heroku typically have a unique domain (typically ` applicationname.herokuapp.com `) used to route HTTP requests to the correct dyno. Each of the application containers, or dynos, are spread across a "dyno grid" which consists of several servers. One of the reasons Heroku is easy for people to use is that it relies on a widely used Git revision control system. In fact, you can’t deploy an app on Heroku unless you are using Git. The ` push ` command, ` Heroku push master `, is what you input on the command line to send the app from your reposi

Week 18 - Session 2 - Group Programming Workshop - User Authentication GitHub OAuth

Image
blog image source Group exercise - Users Sign up and Login; using BCrypt and JWT encryptions, with the option to sign-in with GitHub via OAuth. Learning objectives: Can you apply BCrypt/JWT encryption to password? Can you get validation encryption is working via Chrome dev console? Can you gather User data with password setup through MongoDB? Can you apply OAuth setup to the Signup process? Validate signup using GitHub OAuth developer application. After completing this exercise should be comfortable with the following concepts: Interacting with an API React Routing BCrypt/JWT encryptions OAuth token process OAuth setup with GitHub GitHub User Authentication OAuth 2.0 exercise -  https://github.com/SharifCoding/authentication-oauth

Week 18 - Session 1 - User Authentication - OAuth 2.0

Image
blog image source OAuth 2 is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service, such as Facebook, GitHub, and Google. It works by delegating user authentication to the service that hosts the user account and authorizing third-party applications to access the user account. OAuth 2 provides authorization flows for web and desktop applications, and mobile devices. OAuth2 defines 4 roles : Resource Owner: generally yourself. Resource Server: server hosting protected data (for example Google hosting your profile and personal information). Client: application requesting access to a resource server (it can be your PHP website, a Javascript application or a mobile application). Authorization Server: server issuing access token to the client. This token will be used for the client to request the resource server. There are 4 separate modes of AuthO, which are called grant types. Each mode serves a different purpose an