chat-prototype's Issues
Auto-reload for Go-code developement (a la nodemon)
Tabbing over to the console and manually stopping/restarting the server sucks. The earlier I get a system for automating this the more time I'll save overall...
Database persistence
This would allow for chat persistence even after the chat server shuts down.
host this somewhere?
been meaning to check out netlify. Or AWS/Azure/GCP are always a viable choice.
Support multiple browser sessions in a single chat
Currently each browser gets its own, isolated chat per websocket connection. This makes the chat kind of lame.
add prettier (and lint?) with precommit hook
I didn't spend much time on code-style stuff, as it should be automated away. I should do this before going much further.
Add some special responses
Using the same general mechanism as I did for the "<connected>"
messages, I can add special responses to the go server. Like... If you send "what time is it" the ChatBot can respond with the time, etc...
Consider the design
This design was pretty emergent and I did not give it any real thought. Before going too much further with the client it makes sense perhaps to sit down and think about the design -- perhaps comparing it to existing projects, and generating some new issues for incremental steps to improve it.
Avatars with Gravatar
I think this would probably be pretty easy, and class this thing up a bit
Welcome modal is not keyboard accessible (does not submit with return)
This is actually kind of infuriating and I couldn't resolve in 2 minutes so I gave up. This is a necessary enhancement.
Image and URL detection
It's be pretty easy to detect urls, and wrap 'em in <a>
and/or <img>
tags..
Clean up / refactor redux usage
I left this stuff kind of a mess and never really considered the best approach. Its far enough along now that I should revisit this before adding any more features. At the very least I should reconsider the actions names and reducer set up. But I expect with some thought I'd come up with better abstractions for this stuff in general. And maybe redux is not the right tool for the job anyway.
Add github link
Since this is open source, might as well link back to GitHub
Add a message counter
Per the original specifications:
- User can type any number of other messages that append to the window chat room and a message counter at top increments up as each message is added live
Add CI pipeline
This would usually be the first thing I set up, along with some tests. But for the sake of expediency...
Ensure tree-shaking is working fine and bundle sizes are managable
Previously, I've had to do some tricks to get tree-shaking working with Ramda
, so its likely there are issues that can be addressed for smaller bundle sizes.
If this was a real project, I should set a performance budget and some fitness tests.
Refactor Go code
This was my first go-code I've written. I spent a few minutes trying to refactor, but was stumbling around, and decided to bail on the effort. Its small enough that a few chunky methods and ugly code is acceptable to me, but this could really use some attention?
Some sort of user authentication
Dockerized build
It'd be pretty trivial to drop this whole thing into a docker image.
Consider top level scripts for installing/starting/building
This would make it unnecessary to do a lot of cd
-ing around which is a pain
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.