Emojis are totally MVP ! 😎
MEAN Project week wrap-up and review
Project week is about building an MVP (Minimum Viable Product) version of a popular web app, but when Slack was chosen, I knew we’d have to figure how how to get those emojis working. At crunch time, with around 2 hours to presentation, we got them to work. (Thanks Nick).
Project week is fun, but it can also get a bit intense. The nice part is, that with all of those late nights and stressful days, comes a lot of new experience. At least that was the case for me. (I was fortunate to be on a team with Nick and Armando who were both a stack ahead of me in the program so I was really able to learn a lot from them this week.) So, what was our project? How did we approach it? How did it turn out? What were some roadblocks? Let’s talk some smack! 😂 (I’ll do my best to remember how things played out in this project day to day)
Day 1 -Database Design
Friday after the voting myself, Nick and Armando went to the ping pong room to discuss our database and models. We started to realize that it would be a lot more complex than we thought, with different teams, channels, files etc. We made the decision to go all out and make full models for all the components of what a Slack clone would need. We also realized that the user login/registration process is radically different that your average web app login. Users get invited to teams and then log into teams, not into the general slack app, but more on that later (perhaps).
Day 2 -Laying the foundation
On Monday I worked primarily on login to teams. (Armando and Nic kdid a ton of work on the backend api, building out all of the routes and models. There weren't any major hiccups on Monday (that I can remember).
Day 3 -The main page
I was out of commission for most of Tuesday, but I finished the login and Nick did the main html partial. Armando built out a crazy bawler file upload backend too.
Day 4 -Starting to look legit
Wednesday, I mainly worked on the main html page, making it look exactly like Slack (bootstrap was handy) and adding the functionality too. Nick and Armando pumped out posts and some other good stuff. Wednesday night was an all nighter for them, and I stayed up quite late as well. By Thursday morning things were really coming together.
Day 5 -Slight Hiccups
On Thursday, there were some slight hiccups with sockets and our frond end factories but Nick and Armando but they quickly fixed that and we were in great shape. I worked on some odds and ends.
Day 6 -Crunch time!
Friday finally came and we were in pretty good shape. Nick had fixed sockets and I was fixing some bugs and adding some small features. Armando built some channel creation and invitation modals. But, we still hadn't implemented emojis. So with about 3 hours to go (after making some beast loading spinners and logos, and fixing all of the redirects plus some other goodies) I set out to get those emojis to work once and for all. I tried to use some angularJs wrappers for an emoji plugin but they were all deprecated and hard to implement. After just about giving up a few times, I sat down with nick and we went through one error at a time until we had it working! It still was really buggy and had some funny behaviors but we freakin had emojis showing up in our terminal! It was super cool.
Finally, it was time to present. Presentation went pretty well (just a couple bugs here and there) and that was that.
(Over the weekend I added and fixed some features to make it deployable. I added a createTeam and invite to team. Goodbye postman, for now.)
Some thoughts and 2.0
Overall it was an incredible experience, and I really enjoyed working with Nick and Armando. I learned a ton this past week. We’’ll definitely try and get file upload working on the front end, at least for profile pics. I’m also working on some deployment technicalities.
Anyway, that was super short but really need to start my ruby learning for tomorrow. Goodbye node and express for a few weeks. I’ll definitely get back to ya’’ll soon. I was a pleasure.
Thanks for reading, and happy coding fellas!