Skip to content

Latest commit

 

History

History
338 lines (240 loc) · 11 KB

File metadata and controls

338 lines (240 loc) · 11 KB

Contributing to Ba-Effe

Thank you for your interest in contributing to MotionKit This repository is part of OpenCode '25, a month-long open-source program by GeekHaven. This repository involves prototyping in Figma.

Mentor: Soham Donode

Table of Contents

About the Project

Goal: To learn and practice UI Component Creation, Auto-Layout, Variants, Design Systems, and Interactive Prototyping in Figma — from beginner to intermediate level.

This repository is part of OpenCode '25, where you can earn points by completing design challenges. Points contribute to the OpenCode leaderboard, helping you win exciting rewards!

Getting Started

Registration

  1. Register on Unstop for OpenCode '25
  2. Register at https://events.geekhaven.in/ for leaderboard tracking (REQUIRED for points)
  3. Join the OpenCode Discord server (mandatory for updates and mentor support)
  4. Watch this repository on GitHub to get notified about new issues

Fork and Clone

  1. Fork this repository to your GitHub account

  2. Clone your fork locally:

    git clone https://github.com/opencodeiiita/MotionKit/
    cd MotionKit

Prerequisites

  • Basic knowledge of Git/GitHub will help you contribute easily
  • Design tools: Figma
  • Enthusiasm to learn! You don't need to know everything beforehand

Understanding Issue Types

There are 3 types of issues in this repository:

1. Open-for-All (OFA) Issues

  • No claiming required - anyone can work on them
  • Multiple people can submit solutions
  • Flexible timeframes
  • Generally carry lower points
  • Best for beginners and quick contributions

2. Competitive Issues

  • No claiming required - anyone can try them
  • Multiple submissions accepted
  • Only the best PR (in terms of quality and design) receives points
  • Mentor decides which submission is best
  • Generally carry higher points
  • Great for showcasing your best work

3. First-Come Issues

  • Must be claimed first - assigned to whoever claims them first
  • You can only be assigned 3 first-come issues maximum across ALL OpenCode repos
  • Only 1 first-come issue per repo at any given moment
  • Time limit: 2 days to complete (+ max 12 hours extension if mentor approves)
  • If you don't complete in time, you cannot work on that issue again
  • The issue will be reassigned to the next person who claims it

How to Contribute

Step 1: Browse Issues

  1. Go to the Issues tab of this repository
  2. Read through available issues to find one that interests you
  3. Check the issue tags and points to understand difficulty
  4. Read the full issue description carefully

Step 2: Claim an Issue (For First-Come Issues Only)

  • Comment on the issue: "I would like to work on this issue"
  • Wait for the mentor to assign you
  • Once assigned, you have 2 days to complete it
  • Remember: Only 3 first-come issues max across all OpenCode repos!

Step 3: Work on Your Design

  1. Create a new branch in your fork:

    git checkout -b issue-X-your-design-name
    
  2. Research and explore design approaches

  3. Create your design following the issue requirements

  4. Test your design at different sizes/contexts

  5. Ensure all spellings are correct (especially "Effervescence")

Step 4: Organize Your Files

Follow the folder structure outlined in File Formats & Structure

Step 5: Open a Pull Request

See Pull Request Guidelines for detailed instructions

Naming Conventions

issue-number_design-name_variant.extension

Examples:
issue-0_effervescence-logo_primary.png
issue-1_invite-poster_final.jpg
issue-3_hoodie-design_front.png
issue-8_text-logo_variation-2.svg

Folder Structure

/issue-X-brief-description
  /source-files
    - yourname_design-source.fig
    - figma-link.txt (if using Figma)
  /exports
    - final-design-v1.png
    - final-design-v2.svg
  /previews
    - preview-thumbnail.jpg
  README.md

Pull Request Guidelines

CRITICAL: PR Template Requirements

⚠️ Your PR WILL NOT be counted for points if you don't follow this template!

  1. Fork the repository to your account first

  2. Complete the task in your fork (create a new branch if needed)

  3. Ensure no merge conflicts before opening PR

  4. PR Title: Must be meaningful and relevant to the issue

    • Example: Issue #3 - Effervescence Hoodie Design
  5. PR Description - FIRST LINE MUST BE:

    Issue: #<issue_number>
    
    

    Example:

    Issue: #3
    
    [Rest of your PR description]
    
    
  6. Include in PR Description:

    • Brief explanation of your design approach
    • Link to preview images/videos
    • Any special notes or considerations

What Happens After PR Submission

  • Valid PR: GitHub bot will confirm your PR follows the template ✅
  • Invalid PR: Bot will warn you - you MUST modify the PR (don't create a new one) ❌
  • Mentor Review: Mentor may suggest changes - make changes in the SAME PR
  • PR Merged: Once approved, you'll get points on the leaderboard! 🎉

PR Checklist

  • Repository forked to my account
  • Branch created in my fork
  • No merge conflicts
  • PR title is meaningful and includes issue number
  • First line of PR description is: Issue: #<issue_number>
  • Files organized in correct folder structure
  • All required exports included
  • Source files included
  • README.md with design explanation added
  • Preview images/videos included
  • All spellings verified
  • Design aligns with issue requirements

Rules & Important Notes

General Rules

  1. No Plagiarism: All designs must be 100% original work
  2. Be Respectful: Arguing or misbehaving with mentors will result in penalties
  3. Follow Time Limits: For first-come issues, complete within 2 days
  4. No Spamming: Spamming issues/PRs may result in point deduction or ban
  5. One PR Per Issue: Don't close and create new PRs - modify the existing one
  6. Registration Required: Must be registered at https://events.geekhaven.in/

Issue Assignment Limits

  • Maximum 3 first-come issues assigned at any time across ALL OpenCode repos
  • Only 1 first-come issue per repo at any moment
  • No limit on OFA and Competitive issues

Points System

  • Points vary based on difficulty
  • OFA issues: Generally lower points
  • Competitive issues: Generally higher points
  • First-come issues: Varies based on complexity
  • Check individual issues for specific point values

Violations & Penalties

  • Not following PR template: PR won't be counted
  • Missing deadlines (first-come): Cannot work on that issue again
  • Arguing with mentors: Penalty or ban
  • Cheating/spamming: Point deduction or event ban
  • Claiming issues without solving: Strict penalties

Design Principles

  • Originality: 100% original work required
  • Accuracy: Double-check spelling of "Effervescence"
  • Scalability: Designs should work at different sizes
  • Clarity: Maintain visual hierarchy and readability
  • Production-ready: Consider printing/display requirements
  • Brand consistency: Align with Effervescence identity

Required Information (Where Applicable)

  • Fest name: Effervescence
  • Institution: IIIT Allahabad
  • Dates: Use placeholders if not announced
  • Artist names: Use placeholders or artists of your choice
  • Venue details: As specified in issue

Quality Standards

  • Use high-resolution assets
  • Maintain consistent typography
  • Ensure good color contrast
  • Consider accessibility
  • Export at appropriate resolutions
  • Compress files without losing quality

Getting Help

Where to Ask Questions

  1. Discord Server: Join the OpenCode Discord (MANDATORY)
    • Ping mentors in the project-specific channel
    • Get resources and clarifications
    • Fastest response time
  2. Issue Thread: Comment on the specific issue on GitHub
    • Mention the mentor: @mentor-username
    • Ask specific questions about requirements
  3. Direct Contact: Mentor - Pratik Rakhecha (via Discord)

What Mentors Can Help With

  • ✅ Clarifying issue requirements
  • ✅ Providing helpful resources
  • ✅ Answering questions about design direction
  • ✅ Reviewing and suggesting improvements
  • ❌ NOT solving the issue for you (you must do the work!)

Important Notes

  • Response time: Mentors may take time to respond - be patient
  • Be specific: Ask clear, specific questions
  • Do research first: Try to find solutions before asking
  • Be respectful: Always maintain professional conduct

Common Mistakes to Avoid

  • ❌ Not registering at https://events.geekhaven.in/ (no points!)
  • Missing Issue: #X in first line of PR description (CRITICAL!)
  • ❌ Spelling "Effervescence" incorrectly
  • ❌ Not including required information in designs
  • ❌ Submitting low-resolution files
  • ❌ Ignoring the Bollywood/Filmy theme
  • ❌ Not providing source files
  • ❌ Forgetting to add Figma links
  • ❌ Exceeding video length limits
  • ❌ Creating new PRs instead of modifying existing ones
  • ❌ Missing first-come issue deadlines

Resources

FAQ

Q: Can I work on multiple issues simultaneously? A: Yes! No limit on OFA and Competitive issues. For first-come issues, max 3 across all OpenCode repos.

Q: What if I can't complete a first-come issue in time? A: You cannot work on that issue again. It will be reassigned to the next person who claims it.

Q: How do I know when new issues are opened? A: Watch the repository on GitHub and stay active on Discord for notifications.

Q: Can I submit multiple designs for competitive issues? A: Yes, but only the best one (as judged by the mentor) will receive points.

Q: What if someone is cheating or misusing rules? A: Report to the mentor via Discord. Do NOT take matters into your own hands.

Q: My PR is not getting reviewed. What should I do? A: Check if you followed the PR template correctly. If yes, ping the mentor on Discord (be patient).


Thank you for contributing to MotionKit and being part of OpenCode '25! 🎨🎬

Happy Contributing!