nack's People
nack's Issues
Write test for ChannelCreator
Display Name
When a user visits your web application for the first time, they should be prompted to type in a display name that will eventually be associated with every message the user sends. If the user close the page and returns to your app later, the display name should be remembered.
Setup FED Stack
Install and configure React, Webpack, and Jest.
Integrate Socket IO with React
Add timestamp to messages
Currently, when a user sends a message, the message displays the sender's name, message, and a placeholder image. There should be a timestamp that accompanies the message that is being sent to the user, in this format "MMM D, YYYY HH:mm A"
Retrieve messages from a channel
Add dividers between messages with different created dates
Remembering the channel
If a user is on the channel page, closes the web browser window, and goes back to your web application, your application should remember what channel the user was on previously and take the user back to the channel.
Add client side testing
Design Chat UI
Research on what DB to use
Create Online Status Component
Channel List
Users should be able to see a list of all current channels, and selecting one should allow the user to view the channel. We leave it to you to decide how to display such a list.
Refactor backend codebase
Add responsiveness to the chat application
Refactor: Display Name form
The current display name form is located inside the container element, but not as a component instead as individual elements. Create a presentational component of the Display Name Form, and import it to the Chat container component.
Create UI Component Builder
Personal Touch
Add at least one additional feature to your chat application of your choosing! If you're looking for ideas, possibilities include: supporting deleting one's own messages, supporting using file attachments as messages, or supporting private messages between two users.
Change textarea to input field
Create State
Create Channel List Component
Message View
Once a channel is selected, the user should see any messages that have already been sent in that channel, up to a maximum of 100 messages. Your app should only store the 100 most recent messages per channel in server-side memory.
Refactor client codebase
Add backend testing
Bug: Display Name off alignment
Sending Messages
Once in a channel, users should be able to send text messages to others in the channel. When a user sends a message, their display name and the timestamp of the message should be associated with the message. All users in the channel should then see the new message (with display name and timestamp) appear on their channel page. Sending and receiving messages should NOT required reloading the page.
Refactor API routes
Channel Creation
Any user should be able to create a new channel, so long as its name doesn't conflict with the name of an existing channel.
Create Sidebar Component
Refactor Current React code
Refactor Display Name Code
Refactor: Store emit messages into db
When a user emits (sends) a message, the message is stored inside of the channels variable.
Create Modal Window component
Syncing front and backend router
Refactor channel form
Create API for FE to interact with
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.