Coder Social home page Coder Social logo

innerlink's Introduction

innerlink's People

Contributors

alecpaule avatar alexp761 avatar benjuhminstewart avatar satchitdahal avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

innerlink's Issues

Register

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

  • User will save a nickname for in app display
  • User will use an email and verify that email for authorization to app
  • User will show first and last name
  • User will have password for better security on app

DESIGN REQUIREMENTS

  • The registration info should be stored so users can login even when switching their device
  • Success Indicator upon successful registration
  • Reroute to Email Verification Page after Registration BEFORE automatic login.

ENGINEERING REQUIREMENTS

  • Need a Database that can hold X number of users

Chat: Send messages

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

Notification: Displayed via status bar

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

Chat: Start a chat

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

Login: Home/Landing Page

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.

Chat: View all active chats

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

Register: Unique Information is Saved for Login Usage

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:

  • The password and nickname meet the given requirements.
  • Email is unique and verified

Login: Stay Logged In

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

Login: Must Use Email

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:

  • Email is verified
  • Password matching email matches what is stored in the database

Chat: Receive messages

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

Home Page: Display Links to chat

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.

Connections: View connection list

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.

Register: Registration Successful

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,

Home Page: Forecasts

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.

Weather: View conditions for a location

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.

Weather Conditions

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.

Notification: Receiving a notification

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

Connections: Accept a contact request

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

Home Page: Notifications

As the user, I am able to see any notifications I may have on the home screen.

Assumptions: The client has logged in.

Connections: Remove connections

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

Connections: Decline contact requests

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

Notifications

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:

  • User receives a visual indicator for a notification.
  • User is navigated to the appropriate screen when selecting the notification.

Chat: Continue chat

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

Chat

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.

Weather: Display

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

Register: Nickname

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.

Notification: Displayed via some app UI feature

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

Arch Diag/Doc: Theme/Color Documentation

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.

Connections: View connection requests

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

Settings

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

Database Knowledge: SQL Commands

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 I am retrieving information from a database
  • WHEN I need to know how to retrieve specific data
  • THEN I can do that quickly and sophisticatedly for the sake of our team and the client.

Notification: Selected via status bar

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

Connections: Search for connections

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.

Register: Email Verification

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:

  • User also fills in nick name, first and last name, and password that meets requirements.

Architecture Diagramming/Documentation (Arch Diag/Doc)

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:

  • The instructor has the ability to view a UI page structure diagram
  • The instructor has the ability to view documentation describing the UI theme, to include colors, UI component styles, navigation components

Login

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

  • User can Stay Logged In
  • User must use email to login
  • User will have validity checks on server-side as well as client-side
  • User will have the ability to log out
  • User will be directed to home/landing page after login completion

DESIGN REQUIREMENTS

  • Loading Indicator while user is waiting for login, if necessary
  • Success Indicator to be shown after Login in form of Home/Landing Page

ENGINEERING REQUIREMENTS

  • None

Chat: when contact is deleted

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

Connections

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

Home/Landing Page

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.