🖥️Devs Guild Onboarding Handbook

Welcome to the Developers Guild of 2077 Collective!

The Developers Guild is crucial in building and maintaining the technological backbone that supports the Ethereum community.

“Talk is cheap. Show me the code.”

— Linus Torvalds

This handbook will guide you through the structure, processes, and opportunities within the Developers Guild, ensuring you can contribute effectively and make a meaningful impact.

Technology Stack

Active GitHub projects utilize the following technologies:

  • JavaScript: Used for client-side scripting and creating interactive web pages. We follow the Airbnb JavaScript Style Guide.

  • Astro: A modern front-end framework for building fast and scalable websites. We adhere to the official Astro style guide.

  • Python: Used for server-side scripting, data analysis, and automation tasks. We follow the PEP 8 style guide and use type hints for better code readability and maintainability.

Other Stacks We Utilize For Disparate Projects

  • Web Development: HTML/Tailwind. Tailwind CSS is used for utility-first CSS styling, ensuring rapid and responsive design.

  • Full-Stack Development: JavaScript/TypeScript. TypeScript is preferred for its static type-checking capabilities, enhancing code quality and reducing runtime errors.

  • Backend Development: Python. We leverage frameworks like Django and Flask for robust and scalable backend solutions.

  • Smart-Contract Development: Solidity. We use Solidity for developing smart contracts on blockchain platforms, following best practices for security and efficiency.

By leveraging these technologies, we ensure our projects are built with modern, efficient, and maintainable codebases, tailored to meet the specific needs of each project.

Style Guidelines

To maintain consistency in our codebase, we follow these basic style guidelines.

General

  • Ensure code is well-commented for clarity and maintainability

  • Use meaningful and descriptive names for variables, functions, and classes

  • Write unit tests for critical functions and components

  • Follow the SOLID principles for object-oriented design

  • Review and adhere to DRY principles (Don’t Repeat Yourself)

JavaScript

  • Use camelCase for variable and function names (e.g., userName)

  • Use PascalCase for class names (e.g., UserClass)

  • Use consistent indentation (4 spaces)

  • Keep lines under 80 characters

  • Prefer const and let over var for variable declarations

  • Use strict equality (===) and inequality (!==) to avoid type coercion issues

Astro

  • Follow the official Astro style guide

  • Ensure all components are self-contained and reusable

  • Use consistent naming conventions for component files and functions

Python

  • Use snake_case for variable and function names (e.g., user_name)

  • Use PascalCase for class names (e.g., UserClass)

  • Use consistent indentation (4 spaces)

  • Keep lines under 79 characters

  • Ensure docstrings are provided for all public modules, classes, functions, and methods (PEP 257)

  • Utilize type hints to improve code readability and maintainability

HTML/CSS

  • Use lowercase letters and hyphens for class names (e.g., user-name)

  • Use double quotes for attribute values

  • Keep HTML and CSS code well-formatted and readable

Git

  • Write clear and concise commit messages

  • Follow the Conventional Commits convention

  • Regularly pull changes from the main branch to stay up-to-date

  • Use feature branches for new features and bug fixes

  • Ensure all tests pass before merging to the main branch

By adhering to these guidelines, we ensure a clean, consistent, and maintainable codebase across the 2077 Collective projects.

Git Repositories

All our projects are open-source and publicly accessible via our Github repositories under our @2077Collective organization.

List Of Repositories

To contribute to any 2077 Collective project, please follow these steps:

  • Fork the repository to your personal GitHub account.

  • Clone the forked repository to your local machine.

  • Create a new branch for your feature or fix (e.g., feature/new-feature or fix/bug-fix).

  • Commit your changes with a descriptive message.

  • Push your branch to your forked repository.

  • Open a pull request to merge your branch into the main repository.

Project-specific information

You can find specific project information under the individual project repository.

Last updated