Contributing¶
Thank you for your interest in contributing to LynkVault!
How to Contribute¶
There are several ways to contribute to LynkVault:
Report Bugs¶
Found a bug? Please report it using our bug report form:
Include:
- Clear description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Docker version, etc.)
- Any relevant logs or error messages
Request Features¶
Have an idea for a new feature? Submit a feature request:
Include:
- Description of the feature
- Why it would be useful
- Any examples or mockups if applicable
Improve Documentation¶
Found a typo or want to improve these docs?
- Fork the repository from GitLab
- Make your changes to files in the
docs/directory - Test locally:
mkdocs serve - Submit a merge request
Contact¶
For other inquiries or questions:
Email: hello@beenhamow.co.uk
Development¶
Want to contribute code? Here's how to set up a development environment.
Development Setup¶
Prerequisites¶
- Node.js 20+
- Yarn package manager
- MySQL 8.4+
- Git
Setup Steps¶
- Clone the repository:
- Install dependencies:
- Configure your environment:
Edit .env with your local configuration:
DATABASE_URL="mysql://root:password@localhost:3306/lynkvault_dev"
APP_URL=http://localhost:3000
AUTH_SECRET=$(openssl rand -base64 32)
AUTH_TRUSTED_ORIGINS=http://localhost:3000
NODE_ENV=development
- Set up the database:
# Create database
mysql -u root -p -e "CREATE DATABASE lynkvault_dev;"
# Run migrations
yarn db:migrate
- Start the development server:
The application will be available at http://localhost:3000
Development Workflow¶
Making Changes¶
- Create a new branch:
-
Make your changes
-
Run quality checks:
- Commit your changes:
We use Conventional Commits format:
feat:- New featurefix:- Bug fixdocs:- Documentation changesrefactor:- Code refactoringtest:- Test changes
Submitting Changes¶
- Push your branch:
-
Create a Merge Request on GitLab
-
Describe your changes:
- What does this change?
- Why is this needed?
-
How has it been tested?
-
Wait for review
Database Changes¶
If you're modifying the database schema:
-
Edit
prisma/schema.prisma -
Create a migration:
- Test the migration:
- Commit both the schema and migration files
Development Tools¶
Prisma Studio - Visual database editor:
Opens at http://localhost:5555
Storybook - Component development:
Opens at http://localhost:6006
Issue Tracking¶
LynkVault uses Jira for internal issue tracking. Issues are not publicly accessible.
To report issues or request features, please use:
- Bug Reports: owb.gg/bugs
- Feature Requests: owb.gg/features
Your submissions will be reviewed and added to our internal tracking system.
GitLab¶
The project is hosted on a self-hosted GitLab instance:
gitlab.beantech.uk/my-projects/link-shortener
You can:
- View the source code
- Fork the repository
- Submit merge requests
- View public branches and releases
Code Style¶
- Use TypeScript for all code
- Follow existing code patterns
- Write tests for new features
- Keep functions small and focused
- Add comments for complex logic
- Use meaningful variable names
Testing¶
Write tests for new features:
Run tests:
Questions?¶
If you have questions about contributing:
- Check existing documentation
- Review the codebase for examples
- Contact us: hello@beenhamow.co.uk
License¶
By contributing to LynkVault, you agree that your contributions will be licensed under the same license as the project.
Thank you for helping make LynkVault better!