Giter Site home page Giter Site logo

jon-xo / bifrost Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 4.95 MB

Comic book social cataloging web application with support for reading lists and content discovery

Home Page: https://bifrost.jonxo.dev

HTML 0.64% CSS 2.71% JavaScript 76.14% TSQL 1.07% C# 19.45%

bifrost's Introduction

🎉 Nice to meet you, I'm Jon—

I'm a full-stack software developer with a passion for learning and experimentation. I've got an eye for documentation, and I enjoy technical writing. I love engaging with other developers and expanding my community and knowledge. As I continue to learn and grow, I'm working to share my knowledge, teach, and support others to one day work in a Developer Relations role.

What I work with

Bootstrap C# CSS3 Docker Express.js HTML5 JavaScript Linux MUI .Net NodeJS React

What I'm learning

Java Python Spring Vue.js

My stats

Profile Views

Check out my 🛠 work or say ✉ hello !


Linkedin Badge Twitter Badge

bifrost's People

Contributors

jon-xo avatar

Watchers

 avatar

bifrost's Issues

Authentication [Ticket #1]

Story

A user visits the application and would like to register and/or sign-up

Acceptance Criteria

Given a user visits the application for the first time
When they find content they would like to save or comment on
Then the user is present with a registration affordance and provided information on account criteria
Then registration creates a Firebase UUID
And registration creates a database user with Firebase UUID

Given A registered user visits the application
When The registered user accesses the login affordance from the navbar
Then Firebase verifies account authentication details

Homepage [Ticket #3]

Story

A user [authenticated/unauthenticated] navigates to the application root

Acceptance Criteria

Given An unauthenticated user navigates to the application
When Page loads
Then User is presented with a homepage with the following elements:

  • highlighted comic
  • newsstand (current weeks comic releases)

Given An authenticated user navigates to the application
When Page loads
Then User is presented with a homepage with the following elements:

  • highlighted comic
  • user activity
  • newsstand (current weeks comic releases)

Navbar [Ticket #2]

Story

A user [authenticated/unauthenticated] uses the application and would like to move to a new view

Acceptance Criteria

Given A user successfully logs into the application
When Page loads
Then User is presented with a Navbar with the following elements:

  • home
  • releases
    • previous week
    • current week
    • next week
  • reading list
  • follows
  • search
  • account settings
    • sign out

Given A user visits the application without authentication
When Page loads
Then User is presented with a Navbar with the following elements:

  • home
  • releases
    • previous week
    • current week
    • next week
  • search
  • sign in
  • register

User Search [Ticket #13]

Story

A user would like to locate another public user by name

Acceptance Criteria

Given An authenticated needs to locate a public user
When The user selects the Follows affordance in navbar
And The active user selects the User Search affordance and enters a user name
Then A list of matching users is returned which provides a follow affordance

Comment Drafts [Ticket #14]

Story

A user authors a comment and would like to save a draft before posting

Acceptance Criteria

Given An authenticated writes a comment they would liek to save
When In the comment view, the user selects the Save Draft affordance
Then The comment is saved as a draft and can be accessed via interacting with the same public user update or via the Drafts menu in the User dropdown

Activity View [Ticket #7]

Story

A user wants to view an log of public user activity

Acceptance Criteria

Given An authenticated would wants to view all activity
When The user selects the Activity affordance in the navbar
Then The site displays a Activity view which displays all recent public user activity
And Allows the user to filter the activity by date, user, or event

Releases [Ticket #4]

Story

A user [authenticated/unauthenticated] visits the application and looks for comic book releases

Acceptance Criteria

Given A selects Releases from the application navbar
When On hover
Then User is presented with a drop-down list of options: previous weeks releases, current weeks releases, next weeks releases

Given A user is hovering over the Releases navbar menu option
When selects a displayed option from the menu drop-down
Then Application loads a list of comics returned from the provider

Reading List [Ticket #6]

Story

A user finds a comic issue from any view and would like to read the title. Once a user has added at least one title, they would like to change the title's read status in the application.

Acceptance Criteria

Given An authenticated user identifies a comic they want to read on the homepage, releases, or search views
When A user clicks the Add to Reading List affordance displayed on the comic
Then The comic is added to the user's reading list
And marked unread

Given An authenticated wants to update the read status of a comic
When A user clicks the Reading List affordance in the navbar
And clicks mark as read for the selected comic
Then The comic is added to the user's read column in the Reading List view

Series Reading Progression [Ticket #11]

Story

A user navigates to the Reading List view and marks a comic in a series as read

Acceptance Criteria

Given An authenticated marks a comic in the series as read
When In the Reading List view, the user clicks the Mark as read affordance in the unread column
Then The user’s completed progress is displayed with a count of issues remaining out of the series total.

Ratings [Ticket #10]

Story

A user locates a title in their Reading List and would like to save a rating

Acceptance Criteria

Given An authenticated would like to rate a comic in their reading list
When The user selects the rating ui-element in the Reading List view
Then The active user can save a rating to the local database

Search [Ticket #5]

Story

The application provides both authenticated/unauthenticated users the ability to search for comic releases by issue or series name

Acceptance Criteria

Given Either user type looks for a comic title
When User clicks the navbar search affordance and selects Issue from the search drop-down
Then User is presented a list of matched comic issues returned by the provider

Given Either user type looks for a comic series by title
When User clicks the navbar search affordance and selects Series from the search drop-down
Then User receives a list of matched comic series returned by the provider

Follows [Ticket # 8]

Story

A user locates another public user via their activity and would like to follow their comic activity

Acceptance Criteria

Given An authenticated user locates a user they would like to follow
When User selects the follow affordance from their Activity column displayed on the Home view
Then The selected user is added to the active user's follow list

Given An authenticated would like to manage the users they follow
When User selects the Follows affordance from the navbar
And Clicks on a user in the Follows column
Then The active user can view the selected user's recent activity

Given An authenticated would like to manage the users they follow
When User selects the Follows affordance from the navbar
And Clicks the delete affordance displayed on a user in the Follows column
Then The selected user is removed from the active user's follows

Comments [Ticket #9]

Story

A user locates another public user via the activity or their follows list and would like to leave a comment

Acceptance Criteria

Given An authenticated would like to leave a comment
When The user selects the Comment affordance in the Activity column of the homepage
Then The active user can write a comment that is < 512 characters

Given An authenticated would like to leave a comment
When The user clicks the Follows affordance in the navbar
And Clicks the Comment affordance displayed in the Recent Activity column of the selected user
Then The active user can write a comment that is < 512 characters

Activity Notifications [Ticket #12]

Story

An authenticated user visits a view and receives a notification from a followed user that creates a public update

Acceptance Criteria

Given An authenticated user access the application
When The user is accessing a default view while a followed user creates a public update
Then The active user can receives a notification including the update

Given An authenticated user logs into the application
When The user is following a user who has created 5 > updates since the active user’s last login
Then The active user receives a single notification that multiple updates have occurred

Charts & Statistics [Ticket #15]

Story

A user would like to review their reading history and site usage

Acceptance Criteria

Given An authenticated would like to review their reading statistics
When The user selects the Reading Statistics affordance in the User dropdown in the navbar of the homepage
Then The user can review a graphical chart and data point containg the selected stastics.

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.