Skip to content

Latest commit

 

History

History
107 lines (67 loc) · 4.16 KB

CONTRIBUTING.md

File metadata and controls

107 lines (67 loc) · 4.16 KB

Trenova Contributing Guide

Table of Contents

Introduction

Welcome to Trenova, a cutting-edge web solution designed to revolutionize transportation and logistics operations. Combining the power of the Fiber framework with sophisticated frontend technologies, Trenova stands as a testament to innovation and efficiency in the logistics domain. As a contributor, you're joining a mission to streamline logistics processes through advanced technology, including machine learning and automation.

Code of Conduct

We are committed to maintaining a welcoming and inclusive community at Trenova. Our Code of Conduct is a testament to our values and expectations for all contributors. We encourage you to review it in detail here to ensure a positive and respectful environment for collaboration.

Getting Started

Prerequisites

  • Python 3.12 is required.
  • Golang 1.22.4 is required.
  • Docker is essential for setting up the development environment.

Setting Up the Development Environment

  1. Clone the Repository:

    git clone https://github.com/emoss08/Trenova.git
    cd Trenova
  2. Docker Setup:

    • Run docker-compose up in the .docker directory to build and start the containers.
    • Alternatively, run docker compose -f ./.docker/docker-compose.yml up -d --remove-orphans to start the containers in detached mode.
  3. Application Access:

    • The React frontend is at localhost:5173.
    • The Fiber backend at localhost:3001.
    • The FastAPI backend at localhost:8000.
  4. Generate RSA Keys:

    • Run openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 in the trenova directory.
    • Run openssl genpkey -algorithm RSA -out public_key.pem -pkeyopt rsa_keygen_bits:2048 in the trenova directory.

Understanding the Project

  • Explore the tech stack, including Fiber, FastAPI, and React.
  • Review the project structure and documentation for insights into our architecture and patterns.

How to Contribute

Making Contributions

  1. Fork and Branch: Fork the Trenova repository and create a feature branch from main.
  2. Commit Changes: Commit your changes with descriptive messages.
  3. Testing: Ensure functionality is intact.
  4. Pull Request: Push to your fork and open a pull request against our main branch.

Issue Reporting and Suggestions

  • Use GitHub issues for bug reports or feature suggestions.
  • Provide detailed descriptions and reproduction steps for bugs.

Styleguide

Python Code Style

  • We follow the Google Python Style Guide. Adhere to these guidelines for any Python code contributions.
  • This includes conventions on naming, comments, formatting, and more.

Golang Code Style

  • We follow the Effective Go guidelines. Adhere to these guidelines for any Golang code contributions.
  • This includes conventions on naming, comments, formatting, and more.

Frontend Code Style

  • Maintain consistency with the existing codebase.
  • Use clear, descriptive naming and include comments for complex logic.

Commit Messages

  • Commit messages should be clear and concise, explaining the what and why of your changes.

Pull Requests

  • Describe your changes thoroughly in pull requests.
  • Reference related issues or discussions.

Additional Notes

Keeping Up-to-Date

  • Stay informed by regularly visiting the GitHub repository for updates and discussions.

Community Interaction

  • Engage in discussions, provide constructive feedback, and collaborate with other contributors.

Your contributions are vital in shaping Trenova's future, a platform that redefines logistics efficiency and scalability. Thank you for being a part of this journey and helping us create a solution that not only addresses current industry needs but is also poised for future challenges and opportunities.