Contributing Guidelines

Welcome to OpenSource Camp! Here's everything you need to start contributing.

Welcome to OpenSource Camp

Thank you for your interest in contributing to CollegeUtils! This project is organized by ABV-IIITM IEEE Student Branch as part of our OpenSource Camp initiative. Whether you're a beginner or an experienced developer, there's a place for you here.

What is OpenSource Camp?
OpenSource Camp is a hands-on event where students learn to contribute to open source projects. CollegeUtils is a collection of utility tools built entirely by contributors like you!

Getting Started

1Fork the Repository

Go to the GitHub repository and click the Fork button in the top right corner. This creates your own copy of the project.

2Clone Your Fork

git clone https://github.com/YOUR-USERNAME/college-utils.git
cd college-utils

3Create an Issue (Claim Your Tool)

⚠️ Important: You must create an issue before starting work! This prevents duplicate work and helps maintainers track contributions.

Go to the Issues tab on GitHub and click "New Issue". Choose from these templates:

  • 🛠️ Build a Tool — Pick an existing tool (CGPA, Attendance, etc.)
  • 💡 Propose a New Idea — Claim an Idea slot and build your own tool!
  • 🐛 Bug Report — Report any bugs you find

Fill in the template details and submit. A maintainer will review and assign it to you. Wait for assignment before starting work!

4Create a Branch

git checkout -b feature/your-tool-name

5Make Your Changes

Implement your feature following the coding guidelines below. Each tool has its own dedicated page in the pages/ folder.

6Commit and Push

git add .
git commit -m "feat: Add [Your Tool Name]"
git push origin feature/your-tool-name

7Create a Pull Request

Go to your fork on GitHub and click New Pull Request. Fill in the PR template with details about your implementation. Link it to your issue using Closes #issue-number in the description.

Technical Guidelines

Allowed Technologies

  • HTML5 - Structure your pages semantically
  • CSS3 - Custom styles (use the existing style.css as base)
  • Vanilla JavaScript - No frameworks required, keep it simple!

File Structure

college-utils/
├── index.html # Home page with tool cards
├── css/
│ └── style.css # Global styles
├── pages/
│ ├── cgpa.html # Example tool page
│ ├── idea1.html # Available for contribution
│ └── ...
├── assets/
│ └── images/ # Images and icons
└── README.md

Coding Standards

  • Use meaningful variable and function names
  • Add comments to explain complex logic
  • Follow consistent indentation (2 or 4 spaces)
  • Keep your code clean and readable
  • Test your tool thoroughly before submitting
  • Ensure your tool is responsive and works on mobile

Pro Tip: Look at existing tool pages (like cgpa.html) to understand the expected structure and styling patterns.

Available Tools to Build

Each tool has a dedicated page. Pick one that interests you and check if there's an open issue for it!

Difficulty Levels

Beginner Good for first-time contributors
Intermediate Requires some JavaScript experience
Advanced Complex logic or multiple features

Core Tools

CGPA Calculator

Beginner

Attendance Tracker

Intermediate

Timetable Manager

Intermediate

Quick Notes

Beginner

To-Do List

Beginner

Countdown Timer

Beginner

Unit Converter

Intermediate

Expense Tracker

Intermediate

Password Strength

Beginner

Typing Speed Test

Intermediate

Idea Slots (Open for New Ideas!)

These slots are reserved for contributors who want to propose and build their own unique tools. Get an issue assigned to claim your spot!

Idea 1

Available

Idea 2

Available

Idea 3

Available

Idea 4

Available

Idea 5

Available

Idea 6

Available

Idea 7

Available

Idea 8

Available

Idea 9

Available

Idea 10

Available

Commit Message Guidelines

Use clear and descriptive commit messages following this format:

feat: Add CGPA Calculator functionality
fix: Fix calculation error in attendance tracker
style: Update button styling on home page
docs: Update README with setup instructions
refactor: Simplify timer logic

Commit Types

  • feat - New feature or enhancement
  • fix - Bug fix
  • style - CSS/UI changes
  • docs - Documentation updates
  • refactor - Code refactoring
  • test - Adding tests

Code of Conduct

We are committed to providing a welcoming environment for everyone. Please:

  • Be respectful of differing viewpoints and experiences
  • Give constructive feedback in a kind manner
  • Help others learn - we're all here to grow!
  • Ask questions - there are no stupid questions
  • Celebrate contributions of all sizes

Need Help?
Reach out to the organizers or mentors during the OpenSource Camp. We're here to guide you through your first contribution!

Contact & Support

If you have questions or need assistance:

  • Open an issue on GitHub with the question label
  • Reach out to organizers during the OpenSource Camp event
  • Join our communication channels (Discord/Slack - to be shared during the event)

Ready to Contribute?

Pick a tool, get the issue assigned, and start coding! Every contribution matters, no matter how small.

Browse Available Tools