The penultimate project at SPICED is a social network SPA primarily using React, Redux, and socket.io technologies.
My completed project features registration and login using bcrypt for password encryption, allows users to update profile picture and biography, see who else is logged in, make and accept or reject friend requests, and make use of a real-time chatroom which keeps live track of who is actively chatting.
As this product was meant to develop our familiarity with both React and Redux, I did my best to make as effective usage of these tools' advantages as I could. I have componentized every part of the app for React (reusing where I could), and did my best to construct a Redux reducer that is as readable as possible. React Router manages most of the routing on the page, ensuring a stable user experience.
The website features a chat-room, which the user can visit directly here once they are logged in. Redux keeps track of the list of both online users and in-chat users on the client-side (receiving updates from the server via socket.io whenever the list of users changes), and the relevant components use this state information to determine what to display.
That the “Godly Zone For Gods” is hideously ugly and features nigh on nonsensical language (including some mixing of different tongues) is deliberate, and meant to be humorous. I have no idea why anyone would want to get into the social network business as a solo developer, but this project is at least unique in its exaggeratedly cynical attitude. It was a minor hit in school, as several of my classmates found joy chatting on something a little less hip and zeitgeisty than Slack. Please enjoy it on Heroku. PM me on LinkedIn or whatever if you want a live demonstration of its chat room.
- React
- Redux
- Redux DevTools
- socket.io
- SASS (minor implementation, obviously)
- Node.js
- express.js
- PostGreSQL
- Amazon Web Services S3
- Heroku