Threadly
A web forum developed for CVWO Winter Assignment AY2425. Threadly is designed for NUS computing students to foster discussions and exchange ideas on various topics.
Name: Mai Kai Ler
Data of submission: 26/01/25
Screenshots
Click to view screenshots of threadly
Tech Stack
| Component | Tech |
|---|---|
| Frontend | React with Typescript |
| Backend | Go |
| Database | MySQL |
| Misc | Adobe Express (website logo) |
Features
- An authentication system where users are authenticated by their user name and password.
- The ability to perform basic CRUD operations for forum threads and comments. CRUD is an acronym for Create, Read, Update and Delete.
- A category/tagging system to categorise threads so that they are easier to search for through filtering.
Installation guide
Prerequisites
Install Node.js and npm (for the frontend):
- Download and install Node.JS. This will also install npm.
- Verify installation:
node -v
npm -vInstall Go (for the backend):
- Download and install Go from golang.org.
- Verify installation:
go versionInstall MySQL (for the database):
- Download and install MySQL Community Server from MySQL’s official website. Note down the username and password to access the MySQL server when installing
Install Git (to clone repo):
- Download and install Git.
Steps to Set Up the Application
- Cloning the repository
git clone https://github.com/TOBECHANGED- Change into frontend directory
cd frontend- Install dependencies
npm install- Start the development server
npm run dev- Set Up the Backend
cd ../backend
go mod tidy- Create a .env file from the template .env.example file.
cp .env.example .env- Edit the .env according to the instructions in the template
- Schema will be created according to DB_NAME specified
- Start the backend server
go run main.go- Run the Application
Open the frontend in your browser (http://localhost:5173)
Ensure the backend API is accessible (http://localhost:8000)