Giter Site home page Giter Site logo

myface's Issues

Add messaging

  • A messaging component should be available on each page so anyone can directly message others no matter what page they're on
  • A messaging page should also exist

This would entail retrieving messages from the DB, displaying them, creating messages and reloading the component when new messages come in

Create an infinite scrolling feed

An object with the feed data would be fetched from the database, in chronological order of only friends, parsed through and displayed - similar to other social media feeds.

The component should be "infinite" scrolling. One solution may be to display the top 50 posts and when the user scrolls to the bottom, then fetch the next 50 posts, etc.

Here's a simple example of infinite scrolling: https://codesandbox.io/s/yk7637p62z

Add infinite scrolling upwards for messaging

Batch the amount of messages received at a given time to improve performance.

Querying and appending messages typically isn't an issue however when prepending messages, the scrollTop value is now different if we want to preserve the location of where the user was scrolled. Naturally, we should scroll to the old message, but browser compatibility is unstable between Firefox/Chrome. Different mechanisms should be looked into, including injecting refs and scrolling to those

Too many login attempts

Cap the amount of times someone can login to 5 times over a period of 10 minutes. Display an error message when too many attempts were taken

Create a global header component

The header component should include at least:

  • Logo
  • Internal navigation (Home, Messaging, Friend Finder, Profile, etc)

And it should be stateful, showing different information when logged in versus not logged in

Profile page

Add an image, bio and create posts

Will need to fetch data from the DB, such as image, biography, user posts, etc

Add username

Also need to collect First/Last name of the person to display it in the app. The username by default could be their parsed email before the @ symbol. if duplicates exist, add a number to the end of it.

For example, [email protected] would be username: abc
If abc already exists in the system, then it would be abc1, abc2, etc.

A user can also make their own unique username

APIs for Friend Finder

Create API endpoints for friend finder:
Search
Accept friend request
Block friend request
Request friendship
Retrieve friend list

Create Friend Finder

Search for friends out of all users in the DB with keywords
Request friendship
accept/block incoming friend requests
View friendlist for self

API Routes & Model for posts

Create Post
Retrieve posts for one user in chronological order

Retrieve given number of posts for group of users:

  • For example, on the infinite scrolling the top 50 posts would be retrieved for a user and that users friends

Sign up with Google

In addition being able to create an account, use Google's auth service to login

User Profile Routes

Create API routes & models for saving and retrieving user profile information

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.