Contributing
Thank you for your interest in contributing to ReResell!
Getting Started
- Fork the repository
- Clone your fork
- Create a feature branch
- Make your changes
- Submit a pull request
Development Setup
# Clone your fork
git clone https://github.com/YOUR_USERNAME/recycle-resell.git
cd recycle-resell
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your credentials
# Set up database
npm run db:push
npm run db:seed
# Start development server
npm run dev
Code Style
TypeScript
- Use TypeScript for all new code
- Define types explicitly
- Avoid
anytype
React
- Use functional components
- Use hooks appropriately
- Keep components focused
Styling
- Use Tailwind CSS classes
- Follow existing patterns
- Use shadcn/ui components
Commit Messages
Follow conventional commits:
feat: add user profile page
fix: resolve login redirect issue
docs: update API documentation
style: format code with prettier
refactor: simplify auth logic
test: add listing API tests
chore: update dependencies
Pull Request Process
-
Create a branch
-
Make changes
- Write clean, documented code
- Add tests if applicable
-
Update documentation
-
Test your changes
-
Push and create PR
-
Describe your changes
- What does this PR do?
- How to test it?
- Screenshots if UI changes
Issues
Reporting Bugs
Include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Browser/environment info
Feature Requests
Include:
- Use case description
- Proposed solution
- Alternative solutions considered
Code of Conduct
- Be respectful
- Be constructive
- Be patient
- Help others learn
Questions?
Open an issue or start a discussion on GitHub.