Skip to content
@MA-RD

MA-RD

Microcontrollers and Autonomy Research And Development (M&A R&D)

Welcome to M&A R&D's GitHub organization! We are committed to driving innovation in both software development and embedded systems. Our projects span across a variety of cutting-edge technologies aimed at creating smart, autonomous solutions.

Table of Contents

About Us

Microcontrollers and Autonomy Research And Development, commonly known as M&A R&D, is at the forefront of innovation. Our mission is to blend high-level software development with sophisticated embedded systems to deliver top-notch autonomous solutions.

Team Structure

  • Software Development Team: Our high-level code ninjas.
    • Sub-team: Project A - Building revolutionary software.
    • Sub-team: Project B - Innovating the user experience.
  • Embedded Systems Team: The hardware wizards.
    • Sub-team: Project C - Crafting smart firmware.
    • Sub-team: Project D - Integrating seamless hardware solutions.

Repository Structure

  • software-projectA: Repository for Project A under Software Development.
  • embedded-projectC: Repository for Project C under Embedded Systems.
  • common-libraries: Shared code and libraries.

Coding Standards

  • Consistency is Key: Adhere to the coding style guides for each programming language we use.
  • Code Reviews: All code changes must be peer-reviewed and approved before merging.
  • Automated Linters and Formatters: Utilize tools like pylint for Python, clang-format for C++, and ESLint for JavaScript to enforce coding standards automatically.

Contribution Guidelines

  • General Workflow:
    1. Fork the Repository (optional, may be skipped):
      • Navigate to the repository you want to contribute to.
      • Click the "Fork" button at the top right to create your own copy of the repository.
    2. Create a Branch:
      • From your forked repository, create a new branch for your feature or bugfix.
      • Naming convention for branches: feature/<description> or bugfix/<description>.
    3. Write Meaningful Commits:
      • Use semantic commit messages:
        • feat: A new feature.
        • fix: A bug fix.
        • docs: Documentation only changes.
        • style: Changes that do not affect the meaning of the code (white-space, formatting, etc).
        • refactor: A code change that neither fixes a bug nor adds a feature.
        • test: Adding missing or correcting existing tests.
        • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation.
      • Example: feat: add user authentication module.
    4. Commit Regularly:
      • Commit small, incremental changes. Avoid large, monolithic commits.
      • Each commit should do one thing and do it well.
    5. Push and Create a Pull Request:
      • Push your branch to your forked repository.
      • Navigate to the original repository and create a pull request from your branch.
      • Provide a clear and concise description of your changes in the pull request.
    6. Code Review:
      • Your pull request will be reviewed by your peers.
      • Address any feedback or requested changes.
      • Once approved, your changes will be merged into the main branch.

Repository Management

  • Repository Structure:

    • Naming Conventions: Use clear and descriptive names for repositories, e.g., projectA-software, projectB-embedded.
    • README Files: Each repository should contain a README.md file with:
      • Project description.
      • Setup instructions.
      • Contribution guidelines specific to the project.
      • License information.
  • Branch Management:

    • Main Branch: The stable production-ready code.
    • Development Branch: Where all new features and fixes are merged before being released to the main branch.
    • Feature Branches: Branches for individual features or bug fixes, named feature/<description> or bugfix/<description>.
  • Pull Requests:

    • All changes must go through a pull request and be reviewed.

    • Use templates for pull requests to ensure consistency. Example template:

      ### Summary
      Provide a brief description of the changes.
      
      ### Related Issues
      List any related issues, e.g., `Closes #123`.
      
      ### Changes
      - [x] List of changes made.
      
      ### Checklist
      - [ ] Tests added or updated.
      - [ ] Documentation updated.
      - [ ] Code follows coding standards.
  • Automated Testing:

    • Set up continuous integration (CI) to run automated tests on each pull request.
    • Use services like GitHub Actions, Travis CI, or CircleCI.

Communication

  • GitHub Issues:
    • Use GitHub Issues for tracking bugs, feature requests, and tasks.
    • Use labels to categorize issues (e.g., bug, enhancement, documentation).
  • Team Meetings:
    • Regular meetings every Thursday to discuss progress and roadblocks.
    • Use meeting agendas and minutes to keep track of discussions and decisions.
  • Daily Communication:
    • Use Messenger or ClickUp for day-to-day communication.
    • Create channels for different teams and projects to keep discussions organized.
  • Documentation:
    • Maintain thorough documentation for all projects.
    • Use GitHub Wikis or a documentation generator like Sphinx for Python or Doxygen for C++.

Resources

License

  • All projects are proprietary unless otherwise specified.

Thank you for being a part of M&A R&D! Let's drive innovation together.

Created with 💡 and ☕ by the M&A R&D team.

Popular repositories Loading

  1. .github .github Public

    General repo for the organization

  2. IrradianceExtractor IrradianceExtractor Public

    Python

Repositories

Showing 2 of 2 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…