A fullstack forum project serves as a peer-to-peer academic support platform that ensures college students to toggle roles between tutors and tutees to ask and answer academic questions, empowering them with personalized, real-time learning experiences beyond traditional learning mode. Furthermore, the platform enables students to make appointments with corresponding tutors for online or face-to-face meetings, built with the following tech skills: Go, PostgreSQL, Vite, React, and Tailwind CSS.
Table of Contents
To help students get more personalized academic assistance, the forum project is deisgned for them to better communicate and support each other. On this platform, students can either be tutors or tutees, and they can switch roles seamlessly. If students need academic teaching help, they can post questions for specific modules on the platform and seek tutors under this corresponding post.
This project is an online forum platform, showcasing the integration of modern web technologies. The frontend is built with Vite, React, TypeScript, and Tailwind CSS, offering a responsive and dynamic user interface. The backend is powered by Go with a PostgreSQL database, ensuring efficient data handling and scalability. Here's the guideline to set up and run the project on your local machine for development and testing.
Before you begin, ensure you have the following prerequisites installed:
- Clone the Repo
Clone the repository to your local machine:
git clone https://github.com/Lukapeng77/Forum_Project.git
- FrontEnd Setup:
Navigate to the frontend directory and install the dependencies:
cd frontend npm install - Run the file:
npm run dev
- BackEnd Setup:
In a separate terminal, navigate to the back-end directory. Install Go dependencies:
cd backend go mod tidy - Database Setup:
Ensure PostgreSQL is running. To create schema and populate with fake data.
make build make migrate make seed
- .env file Setup:
Create a .env file under backend directory, set below env variables properly:
Postgresql_URI=<your_Postgresql_uri> PORT=5000 ENV=development
- FrontEnd: Run the Vite development server:
cd frontend npm run dev - Backend: Start up server after schema has be created and populated
cd backend make run - Go to http://localhost:5001/, the website should be hosted on your local device.
- Facilitate a collaborative platform where students can post or answer questions about specific academic modules.
- Empower students to seamlessly toggle between the roles of tutors and tutees, enabling dynamic learning and teaching experiences.
- Enable professors and teaching assistants to actively engage in student discussions.
- Provide corrections, clarifications, and additional explanations to ensure the accuracy of information and enhance learning outcomes.
- Support real-time user interactions through integrated chat rooms and instant messaging features.
- Allow students to seek immediate academic assistance and foster collaborative learning.