Skip to main content

Welcome Contributors! 🎉

We’re thrilled that you’re interested in contributing to Sora Digital Photo Frame!

Quick Start

1

Fork and clone

git clone https://github.com/YOUR_USERNAME/sora-digital-photo-frame.git
cd sora-digital-photo-frame
git remote add upstream https://github.com/Sorbh/sora-digital-photo-frame.git
2

Install and run

npm install
cp .env.example .env
npm run dev
3

Make changes

git checkout -b feature/your-feature-name
# Make your changes
git commit -m "feat: your feature description"
git push origin feature/your-feature-name

Ways to Contribute

Code

Submit bug fixes, new features, or improvements

Documentation

Improve docs, add examples, or create tutorials

Issues

Report bugs or suggest new features

Reviews

Help review pull requests from other contributors

Development Guidelines

Prerequisites

  • Node.js 18.0+ - Required for running the application
  • Git - For version control
  • GitHub account - For submitting contributions

Coding Standards

  • Use ES6+ features and async/await
  • Follow existing code style
  • Add JSDoc comments for functions
  • Handle errors properly
  • Follow Material Design principles
  • Use mobile-first responsive design
  • Prefer CSS custom properties
  • Use BEM naming convention

Commit Messages

Use Conventional Commits format:
feat: add new slideshow transition
fix: resolve image upload issue
docs: update installation guide

Pull Request Process

1

Before submitting

  • Code follows project style
  • Tests pass (npm test)
  • No console errors
  • Documentation updated if needed
2

Create PR

  • Link to related issue
  • Describe what changed and why
  • Include screenshots for UI changes
3

After review

  • Address feedback promptly
  • Push updates to same branch
  • Respond to comments

Community Guidelines

  • Be respectful - Use welcoming and inclusive language
  • Be helpful - Offer assistance to other contributors
  • Be patient - Remember everyone is learning
  • Follow the code of conduct - Maintain a positive environment

Getting Help

Need help getting started? Open an issue with the “question” label and we’ll help you contribute!