alagrad94 / divebook Goto Github PK
View Code? Open in Web Editor NEWNSS Front End Capstone Project
NSS Front End Capstone Project
Story:
Using session storage, Divebook will mimic multiple users using the site concurrently.
Acceptance Criteria:
Given: multiple users active in the application concurrently
When: a new tab is opened
And: the user activates a different account
Then: the current account should be set as active in session storage
Story:
As a user who utilizes Divebook to log dives, I should be able to see a list of all logged dives with a brief synopsis of each one
Acceptance Criteria:
Given: a user wants to see a list of all of their logged dives
When: the user clicks an affordance for going to the list (i.e. button or hyperlink)
Then: the user should be presented with a page listing all of the dives they have logged and a synopsis of each dive
And: clicking on an individual dive log entry should take the user to a page which displays all details of that entry
Story:
As a user who utilizes Divebook to log dives, I should be able to add dive sites to the public database, view a list of dive sites and edit sites already in the database
Acceptance Criteria:
Given: a user wants to add the details about a dive site to the database
When: the user clicks an affordance for adding a dive site (i.e. button or hyperlink)
Then: the user should be presented with a form to supply the details of the dive site
And: completing the form and clicking submit should add the site to the database and make it available to all users
And: the dive sites page should display a list of the dive sites in the database
And: a user should be given the affordance to edit a dive site
And: upon completion of the editing the user should be given the affordance to save their edits
Story:
As a user who utilizes Divebook to log dives, I should be able to see and edit all of my user profile information
Acceptance Criteria:
Given: a user wants to see their profile information
When: the user navigates to the page displaying the details of their profile
Then: the user should see all of their profile information
And: the page should contain an affordance to edit their profile information
Given: a user wants to edit their profile information
When: the user clicks the element they wish to edit
Then: the user should be taken to an edit form prepopulated with the currently stored data
And: buttons to save their changes or cancel the edits
And: upon saving the database will be udated with the new information
And: the user should be taken to the main view of Divebook
Given: a user wants to delete their accont
When: the user navigates to the page displaying the details of their profile
Then: the user should have an affordance to delete their account
And: upon initiating the deletion of an account, the user should be presented with a confirmation prompt
And: upon choosing to delete the account, the user's information is removed from the database
And: upon choosing to cancel the delete the user is returned to their profile page
Story:
As a user who utilizes Divebook to log dives, I should have a dashboard as my starting page which contains my profile, dive log and friends list
Acceptance Criteria:
Given: a user wants to see a main landing page containing their profile information, the most recent entries in their dive log and their friends list
When: the user logs into Divebook they are routed to their dashboard
Then: the user should have the affordance to navigate to any of the other portions of Divebook
And: clicking on any section (dive log, profile, friends) should take them to that area of Divebook
Story:
As a user, I should be able to fill out a form with my email address, and the username of my choice to register myself in the application
Acceptance Criteria:
Given: a user wants to use Divebook
When: the user first accesses the application
Then: the user should see a welcome message
And: a hyperlink to the registration form
Given: a user wants to register an account with Divebook
When: the user clicks the Register a new account hyperlink
Then: a registration form should be displayed where the user can enter required personal information
Given: a user has filled out fields of the registration form
When: the user clicks the Register button
Then: the system should check if the username and email are unique
And: it should check if the email address is unique
And: if both are unique, a new account should be created
And: the user should be taken to the main view of Divebook
Story:
As a user who needs to log dives, I should be able to enter relavant information about each dive
Acceptance Criteria:
Given: a user wants to log a new dive
When: the user clicks an affordance for entering a new dive (i.e. button or hyperlink)
Then: the user should be presented with a form to enter relevant details of the dive
And: buttons to save the dive or cancel the entry
Given: a user wants to view the details of a loggeed dive
When: the user clicks an affordance for viewing dive (i.e. button or hyperlink)
Then: the user should bew taken to a page which displays all details of that entry
And: | the details page should contain affordances to edit or delete the dive
Given: a user wants to edit the details of a dive
When: the user clicks on the logbook entry
Then: the user should be taken to an edit form prepopulated with the currently stored data about the dive
And: buttons to save their changes or cancel the edits
And: upon saving the database will be udated with the new information
And: the user should be taken to the main view of Divebook
Given: a user wants to delete a previously logged dive
When: the user navigates to the page displaying the details of a logged dive
Then: the user should have an affordance to delete the dive
And: upon initiating the deletion of a dive, the user should be presented with a confirmation prompt
And: upon choosing to delete the dive, the dive is removed from the database
And: upon choosing to cancel the delete the user is returned to the dive details page
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.