(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.
- Mounssif BOUHLAOUI Linkedin - Github - Twitter
- Oumayma MAZOZ: Linkedin - Github - Twitter
- Victor LANGAT: Linkedin - Github - Twitter
- Nicholas SIAW: Linkedin - Github - Twitter
- ✅ 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.
- 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
To get started with the project, follow these steps:
-
Clone the repository:
git clone "https://github.com/nuuxcode/finalproject.git"
-
Install dependencies:
cd finalproject pnpm install
-
Start the client development server from root:
pnpm run client
-
Start the server development server from root:
pnpm run server
-
Open the application:
- Open your browser and navigate to http://localhost:3000
We welcome contributions from everyone! If you'd like to contribute to the project, please follow these guidelines:
- Fork the repository: Click on the 'Fork' button at the top right corner of the repository.
- Create a new branch: Create a new branch for your feature or bug fix.
- Make changes: Make your changes to the codebase.
- Commit your changes: Commit your changes with descriptive commit messages following the Conventional Commits standard.
- Push your changes: Push your changes to your forked repository.
- Submit a pull request: Submit a pull request to the main repository and wait for code review and feedback.