Giter Site home page Giter Site logo

mingzhaogu / holler Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 3.0 12.34 MB

Full-stack, Facebook Messenger-inspired peer-to-peer messaging application utilizing a Ruby on Rails backend and a React/Redux frontend.

Home Page: https://holler-messenger.herokuapp.com/

Ruby 2.37% JavaScript 94.05% CSS 3.33% HTML 0.24%
actioncable messaging messenger websockets

holler's People

Contributors

dependabot[bot] avatar mingzhaogu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

holler's Issues

PA Review: Emojis/GIFs

Holler Link

  • Backend: DB, model, controller, views
  • Redux Loop: ajax, actions, reducer
  • Presentational Components
  • Styling
  • Smooth, bug-free navigation
  • Adequate and appropriate seeds

Notes

Wiki Feedback

Design Docs Feedback

Great job!! Just a few comments. Remember that you must have the wiki
complete before you'll be allowed to start coding tomorrow!

MVP List

  • looks great!

Wireframes & Component Hierarchy

Wireframes

  • Make sure to label components!

Component Hierarchy

  • Which of these components will need containers? What information
    from state will they need?

State Shape

  • Nice! You'll probably also need a conversations slice of state to
    know who's in what conversation!

Routes

Frontend

  • /conversations/:conversationId seems like a better choice, it
    makes it easier to generalize for both direct and group messaging!
  • Will logging in auto-select the most recent conversation?

API Endpoints

  • Don't forget your api/session routes!
  • POST /api/conversation/new: typically POSTs are only to
    POST /api/conversations
  • How do you plan on saving messages?
  • Are you going to send all of the conversation info at once? Or will
    you only grab the messages for a particular conversation when it's
    selected?

Schema

  • is the Friendship Table necessary? should that be left as a bonus?
    You can leave that as a bonus for now!

PA Review: User Authentication

  • Backend: DB, model, controller, views
  • Redux Loop: ajax, actions, reducer
  • Presentational Components
  • Styling
  • Smooth, bug-free navigation
  • Adequate and appropriate seeds

Notes: Direct Conversations

  • MessageList sits in NavColumn below NavBar
  • frontend routes:
    • "/ "
    • "/:conversationId"
    • "/new" - when click on the compose icon

04/07 - Accomplishments and Todos

Accomplishments

  • message input working!
  • submit with 'enter' or click send
  • retract/display sidebar on click
  • implemented drop down for logout with click and clickaway
  • debug sooooo much code
  • revamped conversations json
  • fixed conversations reducer

Todos

  • continue learning action cable
  • clear session after logout?
  • ACTIONCABLE, ACTIONCABLE, ACTIONCABLE
  • do I need to have messageinput and livechat in the same file?

04/04 - Accomplishments and Todos

Accomplishments

  • hosted on Heroku
  • login/signup/logout fully functional
  • added demo login
  • finished user auth
  • styled the session form page
  • started making all other tables
  • added linkedin/github links to session form

Todos

  • render errors on signup/login page
  • fix join table migrations
  • fix associations

04/05 - Accomplishments and Todos

Accomplishments

  • fully finished user auth (with minor fixes still needed)
  • set up messages, conversations, conversation_users tables with proper associations
  • set up views for messages/conversations
  • added ajax request/actions for conversations

Todos

  • fix session form - error not going away
  • figure out conversation name (default other user/convo id?)
  • add (default) img_url to conversation?
  • on select, maintain background color of messagelist convo
  • main -> head

PA Review: Production README

Content:

  • Has a # Title
  • Links to the Wiki design documents
  • Describes technologies used
  • Describes core functionality
  • Lists future directions
  • Fills out Description and Website at the top of the repo.

Format:

  • Uses markdown formatting
  • Includes code snippets (with triple backticks, and the language ```javascript...```)
  • Includes screenshots / gifs

Optional:

  • Describes technical challenges
  • Add topics to the top of the repo

04/06 - Accomplishments and Todos

Accomplishments

  • fixed session form error
  • message list contains convos of only current user -- may need to revisit
  • revamped controllers and views
  • rendered different routes for different conversations
  • selected conversation stays gray
  • start MessageView -- 2 containers, 1 component
  • started learning ActionCable

Todos

  • on logout/componentWillUnmount, set state to empty
  • continue working on MessageView
  • what is reduxform?
  • continue learning ActionCable

PA Review: Live Chat

Holler Link

  • Backend: DB, model, controller, views
  • Redux Loop: ajax, actions, reducer
  • Presentational Components
  • Styling
  • Smooth, bug-free navigation
  • Adequate and appropriate seeds

Notes

04/03 - Accomplishments and Todos

Accomplishments:

  • finished backend auth
  • pretty much done with frontend auth
    • bootstrapping current user
    • auth/protected routes
  • able to have a pretty-looking log in/sign in page! :)

Todos for User Auth:

  • work on rendering a page after logging in/signing up
  • NavBar Component:
    • Nav
      • cog to log out (change to dropdown later)
  • push to Heroku

Other Todos:

  • PA Review Issue for next MVP
  • learn Action Cable
  • GIPHY API (after being able to send messages)

Things to ask PA:

  • is it okay to route to an organizational component, then have subcomponents with containers?
    • e.g. NavBar does not need to be a container, but MessageList (within NavBar) may need a container
  • is it necessary/reasonable to factor out Logo into a mini-component?

04/08 - Accomplishments and Todos

Accomplishments

  • cleaned up a LOT of code
  • factored out icon-links -- may need to rearrange file tree
  • started to kind of sort of not really understand Action Cable
  • recognize when currentUser === sender, and format messages accordingly
  • include and style user's imageUrl

Todos

  • fix async for fetchConversation when clicking between conversations
  • draft of ActionCable by Monday night?
  • hover on messages for timestamp
  • add more seed data
    • test if adding to conversations will add to joins table

Challenges

  • figuring out Action Cable
  • not understanding terminology and functions
  • not just implementing it in rails, but also incorporating it with react/redux

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.