~tether is a comprehensive full-stack service designed for managing communities and posts using Clerk groups and communities creation and as well webhook for backend synchronization. This project leverages Mongoose and MongoDB for database management, with a frontend built using React and Next.js. It effectively handles various events related to organizations, including creation, updates, deletions, and membership changes, ensuring seamless synchronization with the database. The service includes error handling, and pagination features for efficient data management.
- Organization Management: Handles creation, updates, and deletion of organizations.
- Membership Handling: Manages member invitations, additions, and removals.
- Error Handling: Responds to errors for better debugging and stability.
- Webhook Integration: Listens to Clerk webhooks for real-time updates.
- View Activities: Provides visibility into recent actions and changes within the communities.
- Commenting: Allows users to comment on posts within communities.
- User Invitations: Enables sending invitations to new users to join communities.
-
Clone the repository:
git clone https://github.com/Daniel-Azil/tether-app.git
-
Navigate to the project directory:
cd tether-app
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following variables:NEXT_CLERK_WEBHOOK_SECRET=your_secret_key
-
Start the server:
npm start
- Handle Webhook Events: The server listens for events from Clerk and processes them accordingly.
- API Endpoints: The server uses Next.js API routes to manage webhook requests and updates.
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and commit them:
git commit -m "Add feature"
- Push to your branch:
git push origin feature/your-feature
- Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.