CramClub is a platform for students to ask questions, share resources, and engage in academic discussions with features like thread categorization, user profiles, voting, and resource sharing.
- Description
- Running with Docker (Recommended for Easy Setup)
- Development Setup Instructions (Manual)
CramClub is built with:
- Frontend: React with TypeScript
- Backend: Go (Golang)
- Database: PostgreSQL
- ORM: GORM
- HTTP Client: Axios
Ensure you have the following installed on your system:
- Docker
- Docker Compose (usually included with Docker Desktop)
- Clone the repository to your local machine:
git clone https://github.com/JadeCheah/CramClub.git cd CramClub - Start all services (backend, frontend, and PostgreSQL):
docker compose up --build
- Acces the app:
http://localhost:5173
Ensure you have the following installed on your system:
- Node.js (v16 or higher) and npm
- Go (v1.18 or higher)
- PostgreSQL
- Git
- Clone the repository to your local machine:
git clone https://github.com/JadeCheah/CramClub.git
-
Navigate into the backend directory:
cd CramClub/backend -
Create a
.envfile in thebackenddirectory and add the following environment variables with your own configurations:# Database configuration DB_HOST=localhost DB_USER=your_db_user DB_PASSWORD=your_db_password DB_NAME=cramclub DB_PORT=5432 DB_SSLMODE=disable # JWT Secret for authentication JWT_SECRET=your_jwt_secret # CORS configuration (frontend URL) FRONTEND_URL=http://localhost:5173 -
Install Go dependencies:
go mod tidy
- Navigate into the frontend directory:
cd ../frontend - Install npm dependencies:
npm install
Running the Backend
- Navigate to the
backenddirectory:cd backend - Start the backend server:
go run main.go
Running the frontend
- Navigate to the
frontenddirectory:cd frontend - Start the frontend development server:
npm run dev
If you have any questions or need further assistance, feel free to contact me via:
- Email: [email protected]
- Telegram Handle: @y9u7e