/wgt-community

Graduation Project C13, Congrats everyone <3

Primary LanguageTypeScript

🚀 WGTCommunity " we got this " 💗

(deploy vercel is down temporarly, soon fixed)

Welcome to our community-driven platform project! This platform facilitates discussions, questions, and collaboration among users on various topics, similar to StackOverflow and Reddit.

image

Team Members

Example Image

Github Accounts

Features

  • ✅ User Authentication: Users can register, login, and manage their accounts securely.
  • ✅ Forum Creation: Users can create forums on different topics to initiate discussions.
  • ✅ Posting & Answering: Users can post questions in forums and provide answers to existing questions.
  • ✅ Upvoting: Enable users to upvote questions or answers they find useful.
  • ✅ Subscriptions: Users can subscribe to forums or follow other users for updates.
  • ✅ Moderation: Forum owners can assign moderators to manage posts and replies.
  • ✅ Admin Dashboard: Admins have access to a special dashboard to manage users, forums, and reports.
  • ✅ Notifications: Users receive notifications for subscriptions, activities, and system updates.

Technologies Used

  • Framework: Next.js
  • Programming Language: TypeScript
  • Styling: Tailwind CSS
  • User Management: Clerk
  • ORM: Prisma
  • UI Components: shadcn/ui
  • File Uploads: uploadthing
  • Typesafe APIs: RestAPI
  • Form Handling: React Hook Form
  • Data Validation: Zod
  • Code Quality: ESLint, Prettier, Husky
  • Testing: Jest, Cypress
  • CI/CD: GitHub Actions
  • Hosting: Vercel

Getting Started

To get started with the project, follow these steps:

  1. Clone the repository:

    git clone "https://github.com/nuuxcode/finalproject.git"
  2. Install dependencies:

    cd finalproject
    pnpm install
  3. Start the client development server from root:

    pnpm run client
  4. Start the server development server from root:

    pnpm run server
  5. Open the application:

Contribution Guidelines

We welcome contributions from everyone! If you'd like to contribute to the project, please follow these guidelines:

  1. Fork the repository: Click on the 'Fork' button at the top right corner of the repository.
  2. Create a new branch: Create a new branch for your feature or bug fix.
  3. Make changes: Make your changes to the codebase.
  4. Commit your changes: Commit your changes with descriptive commit messages following the Conventional Commits standard.
  5. Push your changes: Push your changes to your forked repository.
  6. Submit a pull request: Submit a pull request to the main repository and wait for code review and feedback.