A modern, minimal link-sharing platform for private, one-time, and expiring links — giving you complete control over how, when, and who views your content.
- Node.js 18.17+
- bun 8.0+ (Install)
# Clone repository
git clone https://github.com/alvin-dennis/DropaLink.git
cd DropaLink
# Install dependencies
bun install
# Configure environment
cp .env.example .env
# Start development server
bun devOpen http://localhost:3000 in your browser.
# Start development server with hot reload
bun dev
# Create production build
bun build
# Start production server
bun start
# Build and start
bun build && bun start# Run Biome linter
bun lint
# Fix linting issues automatically
bun lint:fix
# Format code with Biome
bun format
# Run all checks
bun validate# Check TypeScript types
bun typecheck
# Alias
bun type-check# Clean build artifacts
bun clean
# Install git hooks
bun prepare
# Install dependencies
bun installCreate .env.local in project root:
NODE_ENV=development
NEXT_PUBLIC_SUPABASE_URL=your-project-url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your-publishable-or-anon-key
Before Committing
# Run full validation
bun validate
# Fix auto-fixable issues
bun lint:fix
bun format
# Type check
bun typecheckGit Hooks (Husky)
- Pre-commit: Runs linting on changed files
- Commit-msg: Validates conventional commit format
Commit Message Format
feat: add new feature
fix: fix a bug
docs: update documentation
style: format code
refactor: refactor code structure
perf: improve performance
test: add tests
chore: update dependencies
- Fork repository
- Create feature branch:
git checkout -b feat/amazing-feature - Make changes following code style
- Run
bun validate - Commit:
git commit -m "feat: add amazing feature" - Push:
git push origin feat/amazing-feature - Create Pull Request
# Validate everything
bun validate
# Fix issues
bun lint:fix
bun format
# Type check
bun typecheck
# Build test
bun build