GithubHelp home page GithubHelp logo

blustr-client's Introduction

Blustr

Client

Description

Blustr is a social media platform for sharing stories. It is self managed by its users and designed to be as lightweight as possible.

User Stories

404 - Unregistered users can see a unique page when they go to a non-existant address. View Stories - Unregistered users can freely view stories/posts. Search Stories - Unregistered users can search stories based on popularity, date, or hashtags. Manage Stories - Registered Users can like, dilike, favourite and hashtag others stories. Add Stories - Registered Users can add stories to the database, anonomously or as an author. Signin/Sign up/Signout - Users can sign in and sign out, non-users can sign up

Backlog

User Profile

  • Create a page for the user's profile
  • include version of the view page for the users favourites, likes and own stories
  • Show graphs based on likes/dislikes/favourites that the user has recieved

Stories

  • Add ability to favourite stories
  • Work on algorithms to consume unpopular stories

Responsiveness

  • Ensure that the full-screen and tablet versions of the site are well designed and attractive

Client

Routes

  • / Landing page, though at the start it will redirect to home
  • /Home Home page, where all stories can be viewed
  • /Home/view/:id Home page, viewing one particular story
  • /Auth Sign in and sign up page
  • /Home/create Create page, where a user may create a new story

Pages

  • Home Page(public)
  • View Page (public) (though edit buttons will redirect to signup)
  • Auth Page (public)
  • Create Page (private)

Components

  • Navbar
  • Scrollable Panel
  • Addable Image
  • Error Popup
  • PostCard
  • Post
  • Addable Text
  • Auth Form
  • Infinite Card Panel

Services

  • Auth
    • auth.login(user)
    • auth.logout()
    • auth.signup(user)
  • Story
    • story.create(story)
    • story.delete(id)
    • story.like(id)
    • story.dislike(id

Server

https://github.com/polymurph13/Blustr-Server

Models

User Model

  • username - String // required & unique
  • email - String // required & unique
  • passhash - String // required
  • dateJoined - Date // required
  • posts - [ObjectId]
  • alteredPosts - [{id: ObjectId, liked: false, disliked: false}]

Post Model

  • Author - ObjectId // required
  • Content - [String] // required
  • dateCreated - Date // required
  • likes - Number // required
  • dislikes - Number // required
  • views - Number // required

API Endpoint/Backend Routes

  • GET /auth/curr-user
  • POST /auth/signup
    • body:
      • username
      • email
      • passHash
  • POST /auth/signin
    • body:
      • username
      • passHash
  • POST /auth/logout
    • body: (empty)
  • POST /story/create
    • body:
      • content
      • date
      • author
  • POST /story/like
    • body:
      • storyId
  • POST /story/dislike
    • body:
      • storyId
  • POST /story/view
    • body:
      • storyId
  • GET /story

Links

Git Tasks/Project

https://github.com/polymurph13/Blustr-Client/projects/1

Git

Client

https://github.com/polymurph13/Blustr-Client

Server

https://github.com/polymurph13/Blustr-Server

Deploy

https://blustr.herokuapp.com/

Slides

https://docs.google.com/presentation/d/1rCkHbn8zZcHc2A1CT1meqmwKjq_Eayd6xOfHiEOBWZI/edit#slide=id.g8af2f7d0a2_0_5

blustr-client's People

Contributors

jamesd-dev avatar

Watchers

 avatar

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.