Hey there! 👋 Welcome to the Transcript-Seeker project! We're absolutely thrilled that you're interested in contributing. Whether you're fixing a bug, adding a feature, or sharing an idea, your efforts help make our project better and more useful for everyone. Here are some easy-to-follow guidelines to help you dive in!
Have you found a bug, got a suggestion, or stumbled upon something that doesn't work as expected? No problem! Feel free to open an issue. When submitting an issue, try to include a clear and concise title and as many details as possible. The more info you provide, the faster we can jump in and help!
We love pull requests! 🎉 If you'd like to make a contribution, whether it’s a bug fix, a feature, or a small improvement, follow these steps:
- Fork the repo to your GitHub account.
- Create a new branch with a meaningful name:
- For bug fixes:
fix/issue-123-bug-description - For new features:
feat/awesome-new-feature
- For bug fixes:
- Make your changes, and make sure you follow our Conventional Commits guidelines.
- Push your branch to your forked repository.
- Open a pull request from your branch to the
mainbranch of this repo. - Before submitting, make sure your code is clean by running:
This will help catch any issues early on. 🚀
pnpm typecheck
Ready to jump into the code? Awesome! Here’s how to get set up locally:
-
Fork the repository to your GitHub account.
-
Clone the repository to your machine:
git clone <your-forked-repo-url> cd transcript-seeker
-
Create your environment file by copying
.env.exampleto.env. This allows you to configure your setup.cp .env.example .env
-
Install dependencies:
pnpm install
-
Run database migrations:
pnpm db:generate && pnpm db:migrate -
Start the app in development mode:
pnpm turbo run dev
You can now access the services at:
Service URL Proxy Server localhost:3000Transcript Seeker localhost:5173
To configure the environment properly, here are some key environment variables used in Transcript-Seeker:
HOST: Set the host address for the proxy server. Default is0.0.0.0.PORT: Define the port where the proxy server will run. Default is3000.MEETINGBAAS_API_URL: URL for the MeetingBaas API, e.g.,https://api.meetingbaas.com.MEETINGBAAS_S3_URL: URL for accessing MeetingBaas S3 resources, e.g.,https://s3.eu-west-3.amazonaws.com/meeting-baas-video.
VITE_CLIENT_PORT: Set the port for the client application. Default is5173.VITE_CLIENT_HOST: Host address for the client. Default is0.0.0.0.VITE_PROXY_URL: URL to the proxy server. This can be used to set up your own proxy, e.g.,https://localhost:3000.
SW: Enables the Service Worker (trueorfalse). Default is"true".SW_DEV: Makes it easier to manage the Service Worker during development (trueorfalse). Default is"true".
VITE_S3_PREFIX: S3 bucket prefix for accessing video files. Default ishttps://s3.eu-west-3.amazonaws.com/meeting-baas-video.
These environment variables allow you to configure the proxy, client, and advanced features to meet your specific requirements. Make sure to adjust them according to your local setup or deployment needs.
We use Conventional Commits to keep our commit history clean and organized. It makes it easier for everyone to understand what's been done at a glance. Commit messages should use the following format:
<type>(<scope>): <description>
For example:
feat(homepage): redesign the layoutfix(styles): correct position of server status
Some common commit types:
feat: A new feature.fix: A bug fix.docs: Documentation changes.style: Code style changes (formatting, missing semicolons, etc.).
To keep the codebase consistent and readable, we recommend running a few checks before opening a pull request:
-
Lint fixes:
pnpm lint:fix
-
Run type checks to ensure there are no type issues:
pnpm typecheck
Your code should be well-tested, clear, and follow our best practices. Remember, every contribution makes a difference, and we deeply appreciate your help in making Transcript-Seeker better! 🎉
Thanks a ton for contributing, and welcome aboard! If you need any help, don’t hesitate to ask. Let’s make something amazing together. 🚀