SoundSphere is a simple web forum where music aficionados can discuss anything music-related! For instance, users can discuss a new album release, a concert in the area, or simply song recommendations.
- Create your profile and become part of the community
- Create, edit, and delete your own discussion threads and comments
- Upvote threads that resonate (pun intended!) with you
- Sort, filter, and search discussion threads
React: Provides the structure for building the user interfaceRedux: Manages global application state, particularly for user authentication and thread dataMaterial UI: Provides UI components for a consistent and responsive design
Go: Serves as a performant backend languageGo-Chi: Handles HTTP routing and middleware for building RESTful APIsGorm: Simplifies database interactions with an Object-Relational Mapping (ORM) for PostgreSQLGolang-jwt: Implements account-based authentication using JSON Web Tokens (JWT)
PostgreSQL: Stores application data
- Git
- Docker Compose
- Clone this repository:
git clone https://github.com/Zhannyhong/SoundSphere.git - Change directory into the cloned repository:
cd SoundSphere - Build and run the docker containers:
docker compose up -d
The forum can then be viewed at http://localhost:3000. By default, the database will be populated with data from
database/database.sql. The users already in the database can be logged in using the same password as their username.
