TagChatter implemented by FoxRother
This project is the end result of Tagview's internship challenge developed by Gabriel Fox. It was generated with Angular CLI version 8.0.1 (later updated to 8.0.2).
Run ng serve
for a dev server. Navigate to http://localhost:4200/
.
The app will automatically reload if you change any of the source files.
- Get user data (GET /me)
- Get message list every 3 seconds (GET /messages)
- Mark and unmark messages when clicking on its parrot icon (PUT /messages/:id/parrot || /messages/:id/unparrot) 🌟
- Style marked messages
- Increment and decrement the marked messages counter 🌟
- Send new messages to the server (POST /messages)
- Show the new message in the message list
- Handle and signal messaging failures
- Provide an option to resend failed messages
- Scroll down button 🌟
- 100% layout compliant
This challenge was quite fun and elightening. It's important to note that I have continued to update this project even after the given deadline. I was not satisfied with the "first result" and thought it would be interesting to keep polishing the app and sharpening my skills.
There are a few other features that I'd like to add in the future:
- Implement auto-expand for the message input
- Enhance state management with NGRX or NGXS
- Show scroll down button only when new messages arrive
I'm also looking forward to implement it using React or Vue.