Book Image

Advanced Express Web Application Development

By : Andrew Keig
Book Image

Advanced Express Web Application Development

By: Andrew Keig

Overview of this book

Building an Express application that is reliable, robust, maintainable, testable, and can scale beyond a single server requires a bit of extra thought and effort. Express applications that need to survive in a production environment will need to reach out to the Node ecosystem and beyond, for support.You will start by laying the foundations of your software development journey, as you drive-out features under test. You will move on quickly to expand on your existing knowledge, learning how to create a web API and a consuming client. You will then introduce a real-time element in your application.Following on from this, you will begin a process of incrementally improving your application as you tackle security, introduce SSL support, and how to handle security vulnerabilities. Next, the book will take you through the process of scaling and then decoupling your application. Finally, you will take a look at various ways you can improve your application's performance and reliability.
Table of Contents (14 chapters)
Advanced Express Web Application Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Feature: Authentication


As a vision user
I want to be able to authenticate via Github
So that I can view project activity

Let's create our first feature file ./features/authentication.feature. The following feature file contains a Feature section, which for the agile among you will know that it defines the story and its value to the business, and a list of scenarios. Our acceptance criteria; written in the Gherkin language.

The following Authenticate feature contains two scenarios, including one to log in, titled User logs in successfully, and one to log out, titled User logs out successfully:

Feature: Authentication
As a vision user
I want to be able to authenticate via Github
So that I can view project activity 

  Scenario: User logs in successfully
    Given I have a GitHub Account
    When I click the GitHub authentication button
    Then I should be logged in
    And I should see my name and a logout link

  Scenario: User logs out successfully
    Given I am logged in to Vision
    When...