A side project I wanted to do to learn a variety of topics better. The overall goal of this would be to create a "chat app" similar to Teams or Discord, where users could send and recieve messages in different "chat rooms" that are user defined.
The technologies that I wanted to explore are:
- Websockets
- React
- Golang HTTP Server
- Specifically the new routing introduced in 1.22
The goal of this project would be to have the following features:
- Users be able to create accounts
- Users be able to create servers, which are a collection of chat channels
- Users be able to create chanenls within a server
- Validate user has access to an indvidiual server
- Have method to invite new users to a server
- Notify users when messages are recieved
Due to being under development, build process, dependencies, and documentation has not been exaustively tested on multiple computers. This will be completed later once the program is in a more releaseable state.
Current known dependencies:
- Go v1.23
- Node 18
Copy the example.env file to the .env location and fill out with the details that you want to use.
To run, the make run command in the base directory should work.