I am archiving this repo as it has been a long time since I've made updates. At this point, I would need to start over from scratch, simply on the basis that I've learned so many new technologies and the industry has advanced much further in the 3 years since I completed this app. I'm leaving it up for historical purposes, mainly as a milestone in my journey as a software developer.
- Ian
Duration: 2 Week Sprint
TalkAbout is a real time chat app aimed at making it easy to find others interesting it chatting about the same topics you are. Chat rooms are kept small to keep conversations intimate.
Before starting installation ensure that all prereqs are installed and working. You need to have a PostgreSQL database created and running in order to continue
- Create a database named
talkabout. - The queries in the
database.sqlfile are set up to create all the necessary tables. The project is built on Postgres, so you will need to make sure to have that installed. Use your client of choice to run the queries. - Open your editor of choice and create a .env file with the following values:
The max counts are optional and allow basic configuration of the server.
SERVER_SESSION_SECRET=[put a sufficiently random and long string here] MAX_HISTORY_MESSAGES=20 MAX_POPULAR_TOPICS=10 MAX_MEMBER_COUNT=7 - Run an
npm installin your terminal in the root of the project folder. - Run
npm run serverin your terminal. - Run
npm run clientin your terminal. - The
npm run clientcommand should open a browser window for you, but if it does not just open your browser and navigate to http://localhost:3000. Chrome is the only browser that is currently supported.
- A. Register by pressing the register button to enter a username and password. This will automatically log you in.
- B. If you have an account created already, just enter your username and password and click sign in.
- On the main page you can join a room by entering the topic you want to talk about and pressing enter.
- You can also join a room by clicking on one of the popular topics in the popular topics section. You can refresh these topics by clicking the refresh button next to the heading "Popular Topics".
- You can pull up an of the rooms you are currently in by clicking the room in the "My Rooms" section.
- Once in a room, simply click in the input field at the bottom and type. Pressing enter will send your message. Pressing shift enter allows you to put a new line in the input field without sending the message, though this doesn't currently show up correctly once sent.
- You can edit any of the messages you have sent by clicking the edit button (the pencil looking icon) on the right side of the message. Make your changes to the message in the text field, and then click the save button, or cancel to discard your changes.
- You can delete any message you have sent by clicking the trash can button on the right side of the message. Be wary, this is permanent and cannot be undone.
- React
- Redux + Sagas
- Socket.io
- PostgreSQL
- Material-UI
- Passport
- Express
- Node
- bcryptjs
Thanks to Emerging Digital Academy who equipped and helped me to make this application a reality. Also, shout out to Jake Schaffer for helping me out with styling.
If you have suggestions or issues, please email me at ianjohnson9042@gmail.com
Thanks for reading! I hope you have a great day!

