- Go (GoLang)
- PostgreSQL: An open source relational database which uses SQL for reading and writing data to the database.
- No ORM was used for this project, just raw SQL queries.
- Mux: HTTP framework used for easy routing in Go web servers.
- GoDotenv: used to manage environment variables.
- Cloudinary Go SDK:used in this server for storing images.
- Pq: Driver for Postgres that easily interops with database/sql from the Go standard library.
- JWT GO: for token management which helps with authentication and authorization.
- amqp: was used for publishing and consuming messages using Rabbit MQ.
- Rabbit MQ: This was used for communication between the two servers, using the AMQP Protocol. An example is, when a user is signed, the Go server sends the user information in the queue which is being picked up by the Node.js server which then sends the email and also sends a message to the queue when it is done sending the email so the Go seever then picks it up to know if it was successful or not.