Feature set
We will now begin the process of building a Vision application. We will start from scratch with a test-first approach. Along the way, we will explore some best practices and offer tips for when developing web applications with node and Express.
The Vision application will include the following features:
Feature: Heartbeat As an administrator I want to visit an endpoint So that I can confirm the server is responding Feature: List projects As a vision user I want to see a list of projects So that I can select a project I want to monitor Feature: Create project As a vision user I want to create a new project So that I can monitor the activity of multiple repositories Feature: Get a project As a vision user I want to get a project So that I can monitor the activity of selected repositories Feature: Edit a project As a vision user I want to update a project So that I can change the repositories I monitor Feature: Delete a project As a vision user I want to delete a project So that I can remove projects no longer in use Feature: List repositories As a vision user I want to see a list of all repositories for a GitHub account So that I can select and monitor repositories for my project Feature: List issues As a vision user I want to see a list of multiple repository issues in real time So that I can review and fix issues Feature: List commits As a vision user I want to see a list of multiple repository commits in real time So that I can review those commits Feature: Master Page As a vision user I want the vision application served as a single page So that I can spend less time waiting for page loads Feature: Authentication As a vision user I want to be able to authenticate via Github So that I can view project activity
The following screenshot is of our Vision application; it contains a list of projects, repositories, commits, and issues. The upper-right corner has a login link that we will use for authentication: