benjuhminstewart / innerlink Goto Github PK
View Code? Open in Web Editor NEWClient code
Client code
INTRODUCTION
This feature will allow users to sign up using their email, which must be verified, a password, first and last name, and a nickname. Their information will be saved to a database so that they can then login using then credentials so their messages and friends can be saved.
There will be checks for validity on the server-side and client-side. This will mean that passwords and nicknames will have a set of requirements upon creation.
PRODUCT REQUIREMENT
DESIGN REQUIREMENTS
ENGINEERING REQUIREMENTS
AS a: client
I WANT: to be able to interchange messages back and forth with my connections
SO THAT: I can keep in touch with my connections through messages
GIVEN: I have started a chat with a connection
WHEN: I type in a message and press send
THEN: the connection should receive my message
GIVEN: App is in the background (not visible to the user)
AND: “Logged in” option is selected
WHEN: User receives a notification
THEN: Notification is displayed via status bar
AND: Status bar/drawer will show the sender and message type
AS a: client
I WANT: to be able to start a chat with my connections
SO THAT: I can send messages to my connections
GIVEN: I have at least one connection.
WHEN: I click on the connection/select multiple connections and click start chat
THEN: I can interact with my connections through the chat feature
As a user I want to see a welcome page upon login so that I can see my notifications and weather right away without needing to look around for it.
Acceptance Criteria:
GIVEN: I am registered and login correctly
WHEN I select 'Login' Button
THEN I am moved to the Landing Page which shows new notifications and the weather upon my preference.
GIVEN: User is signed into the app
WHEN: User selects the Chats screen
THEN: A list of all active Chats is displayed to the user
As a user, I want to register using first name, last name, a nickname, a password, and an email so that I can login later using the unique username and password.
Acceptance Criteria:
GIVEN: I am entering a nickname and a unique email along with my first and last name and a secure password
WHEN: I select 'Register' button
THEN: my information will be stored and I will be able to login with the same information later.
Assumptions:
As a user I want to stay logged in so that I need not login every time I want to use the app.
Acceptance Criteria:
GIVEN: I have registered an account and have logged in successfully
WHEN: I select 'Stay Logged In' Checkbox
THEN: I will stay logged in until I manually log out
As a user I want to login using my email so that I can chat on my own account
Acceptance Criteria:
GIVEN: I am registered and login using my correct email and password
WHEN: I select 'Login' button
THEN: I am logged in and can chat with friends
Assumptions:
AS a: client
I WANT: to be able to receive messages from my connections
SO THAT: I can reply appropriately to what my connections have sent me to ensure a proper communication flow back and forth.
GIVEN: I have received a message from a connection
WHEN: I type in a message and press send
THEN: the connection should receive my message
As the user, I am able to see links and be able to click on these links to the chats I am currently in on the home screen.
Assumptions: The client has logged in.
AS a: client
I WANT: to be able to be able to look at a list of my connections.
SO THAT: I can see who exactly I am able to interact with by sending messages.
GIVEN: I am registered and logged in.
WHEN: I click on the “connections” button
THEN: I can see my list of connections.
As a user I want to know that I successfully registered an account and be directed to verify my email.
Acceptance Criteria:
GIVEN: I registered successfully
WHEN: I hit register
THEN: I receive a notification that my registration was successful and I am directed to verify my email either through text or a link.
Assumptions:
User makes an account that does not already exist and it is valid,
As the user, I am able to see the current weather conditions for my location on the home screen.
Assumptions: The client has logged in.
GIVEN: User is signed into the app
WHEN: User selects the Notification tab
THEN: A list of all active notifications is displayed to the user
As the user, I need to view the current weather forecast for my location or any other location I want to know more about.
Assumptions: The client selects their current location, enters a ZIP code, or selects a location on the map.
As the user, I need to be able to save a location so I can quickly view the forecast.
I want to be able to save these locations for quickaccess whenever I open the app.
The weather forecast should include the current days conditions and other forecasts.
Acceptance Criteria:
The user has the ability to view the weather forecast for the devices location, a location searched by zip code, and a location chosen on a map.
The user has the ability to save any of the above locations to display that locations weather forecast at a later time
The weather display should include the current conditions, a 24-hour forecast, and a 5 or 10-day forecast.
GIVEN: App running in the background/foreground
WHEN: User receives a new connection request
THEN: A notification is received
GIVEN: App running in the background/foreground
WHEN: User receives a new conversation request
THEN: A notification is received
GIVEN: App running in the background/foreground
WHEN: User receives a new message from an existing conversation
THEN: A notification is received
As a client
I want to be able to accept a contact request
So that, I can expand my contact list with the contacts that I'd like
Given, I am logged in and see someone sent me a contact request
when, I press accept
then, the contact gets added to my contact list and i'm able to chat with them
As the user, I am able to see any notifications I may have on the home screen.
Assumptions: The client has logged in.
AS a:client
I WANT: to be able to remove an existing connection
SO THAT: I can modify my list of connections to best fit it with people who i’d like to stay connected with
GIVEN: I am logged in and registered
WHEN: I go to the connections button and see a list of my connections
THEN: I can click on individual connections and click the options button that will give me an option to unsubscribe to them
Test Issue 1
As a user,
I want to be able to decline an incoming contact request
So that I have the freedom of choosing who I want to be connected with
Given, I am logged in and have an incoming requests
when, I press decline on the incoming request
then, the incoming contact gets deleted
As a user, I want to receive notifications when I receive a new connection request, a new conversation request, and a new message. I want to be able to navigate to the new request/message when selecting the notification.
Acceptance Criteria:
AS a: client
I WANT: to be able to continue my chats with connections that I had previously chatted with
SO THAT: I can see the chat history at any time and add more things to that chat
GIVEN: I have a connection who I have chatted with before
WHEN: I am in the chat box and want to send them more messages
THEN: I can send them messages while looking at the chat history
As a user, I want to be able to send messages to my connections either individually or as a group.
Acceptance criteria.
I have been logged in and I have at least one connection.
As the user, I need to view locations weather conditions and the weather conditions of the day and week.
GIVEN: User is signed into the app
WHEN: User navigates to the Weather tab
THEN: The current conditions, 24-hour forecast, and 5-10 day forecast are displayed
As a user I want to enter a nickname so that the app can display this nickname around the app and to people I am chatting.
Acceptance Criteria:
GIVEN: I enter a nickname that meets requirements along with all other register parameters
WHEN: I hit the 'Register' Button
THEN: My nickname will be used in app and displayed to the people I chat with.
GIVEN: App is in the foreground (visible to the user)
AND: Not viewed in the context of the notification
WHEN: User receives a notification
THEN: Notification is displayed via some app UI feature
GIVEN: App is in the foreground
AND: User receives a notification via some app UI feature
WHEN: User selects the notification
THEN: App navigates to the correct state
Choose and document color schemes to use in the app. Maybe choose several and run them by the client?
Choose and document UI component styles to use in the app. Maybe choose several and run them by the client?
Choose and document global navigation components. Maybe choose several and run them by the client?
Assumptions: You had a discussion with the client discussing any preferences.
AS a: client
I WANT: to be able to view the connection requests sent to me and the connection requests that I’ve sent.
SO THAT: I can keep track of the list of people who I want to follow vs a list of people who want to follow me.
GIVEN: I am logged in and registered
WHEN: I go to the connections button and click on sent/received
THEN: i can check my sent/received requests in the order I sent/received them
As a user I want to be able to change my user preferences such as what theme I want and my uesrname.
Acceptance Criteria:
GIVEN: I own an account and am logged in
WHEN: I click on a settings button
THEN: I am navigated to a page that lets me change my preferences
Assumptions:
User is logged in and on the home page
As a Developer, I want to have an understanding of SQL commands and Table Manipulation so that I can design and manipulate a database for our users.
Acceptance Criteria
GIVEN: App is in the background
AND: User receives a notification via status bar
WHEN: User selects the notification
THEN: App opens to the correct state
AS a: client
I WANT: to be able to search for new connections based on either email, nickname or first and last name.
SO THAT: I can send new connection requests.
GIVEN: I am registered and logged in
WHEN: I enter an email, nickname, or first and last name on the “search connections” text bar.
THEN: I can see a list of people that match the query and select who I want to send the request to.
As a user I want to verify emails so that others can not register with my email.
Acceptance Criteria:
GIVEN: I enter my own email
WHEN: I hit register
THEN: I receive an email to verify my email address and successfully register my account.
Assumptions:
Epic Statement:
As the instructor, I need to view all of the architecture diagrams and documentation so that I can verify that your project structure is reasonable.
Acceptance Criteria:
INTRODUCTION
This feature will allow users to save their information so that they can have friends who they may chat as well as keep a profile.
PRODUCT REQUIREMENTS
Stay Logged In
DESIGN REQUIREMENTS
ENGINEERING REQUIREMENTS
As a user,
I want to be able to see the chat messages sent by a contact even if i delete them off my contact list
so that it is easy to follow along to the chat when I read them
Given, I have a chat with a contact
when, I delete said contact
then, any chats that they are a part of will still contain the messages sent by them, even if they aren't part of the chat
As a user, I want to be able to add or remove connections. I want to be able to search for potential connections using email, nickname or full name and check my incoming and outgoing connection requests.
Acceptance Criteria.
The user is logged in to the app
Epic Statement: As the user, I need to be able to see the weather forecast for my current location and be notified of any news or chats after I login.
Acceptance Criteria:
The user has the ability to view the current locations forecast on the home screen.
The user has the ability to see any notifications on the home screen.
The user has the ability to see links to the most recent chats they are in.
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.