Skip to content

JadeCheah/CramClub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Author Name: Cheah Yue Pei

CramClub

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.

Table of Contents

Description

CramClub is built with:

  • Frontend: React with TypeScript
  • Backend: Go (Golang)
  • Database: PostgreSQL
  • ORM: GORM
  • HTTP Client: Axios

Running with Docker (Recommended for Easy Setup)

Ensure you have the following installed on your system:

  • Docker
  • Docker Compose (usually included with Docker Desktop)
  1. Clone the repository to your local machine:
    git clone https://github.com/JadeCheah/CramClub.git
    cd CramClub
  2. Start all services (backend, frontend, and PostgreSQL):
    docker compose up --build
  3. Acces the app:
    http://localhost:5173

Development Setup Instructions (Manual)

Ensure you have the following installed on your system:

  1. Clone the repository to your local machine:
    git clone https://github.com/JadeCheah/CramClub.git

Backend Setup

  1. Navigate into the backend directory:

    cd CramClub/backend 
  2. Create a .env file in the backend directory 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
    
  3. Install Go dependencies:

    go mod tidy

Frontend Setup

  1. Navigate into the frontend directory:
    cd ../frontend 
  2. Install npm dependencies:
    npm install

Running the Application

Running the Backend

  1. Navigate to the backend directory:
    cd backend 
  2. Start the backend server:
    go run main.go 

Running the frontend

  1. Navigate to the frontend directory:
    cd frontend
  2. Start the frontend development server:
    npm run dev

Contact Me

If you have any questions or need further assistance, feel free to contact me via:

  1. Email: [email protected]
  2. Telegram Handle: @y9u7e

About

web forum for students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published