An open API service indexing awesome lists of open source software.

https://github.com/nuuxcode/finalproject

Next.Js, NestJS, Platform facilitates discussions, questions, and collaboration among users on various topics, similar to StackOverflow and Reddit.
https://github.com/nuuxcode/finalproject

clerk nestjs nextjs prisma

Last synced: 7 months ago
JSON representation

Next.Js, NestJS, Platform facilitates discussions, questions, and collaboration among users on various topics, similar to StackOverflow and Reddit.

Awesome Lists containing this project

README

          

# 🚀 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](https://github.com/nuuxcode/finalproject/assets/24565896/a58af52c-3bd5-420b-95cd-aeb2c9a1212c)

## Team Members

![Example Image]( https://github.com/nuuxcode/finalproject/blob/README.md/TEAM.jpeg)

## Connect with the Team

- **Mounssif BOUHLAOUI** [Linkedin](https://www.linkedin.com/in/mounssif-bouhlaoui/) - [Github](https://github.com/nuuxcode) - [Twitter](https://twitter.com/nuux_tv)
- **Oumayma MAZOZ:** [Linkedin](https://www.linkedin.com/in/oumayma-mazoz-2b4126228/) - [Github](https://github.com/omazoz) - [Twitter](https://twitter.com/oumie201)
- **Victor LANGAT:** [Linkedin](https://www.linkedin.com/in/victor-langat/) - [Github](https://github.com/viictoo) - [Twitter](https://twitter.com/victor_provich)
- **Nicholas SIAW:** [Linkedin](https://www.linkedin.com/in/siaw/) - [Github](https://github.com/ayequill) - [Twitter](https://twitter.com/ayequill)

## 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:** NestJs & 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:**
```bash
git clone "https://github.com/nuuxcode/finalproject.git"
```

2. **Install dependencies:**
```bash
cd finalproject
pnpm install
```

3. **Start the client development server from root:**
```bash
pnpm run client
```

3. **Start the server development server from root:**
```bash
pnpm run server
```

4. **Open the application:**
- Open your browser and navigate to http://localhost:3000

## 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.