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.
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.
- Python 3.12 is required.
- Golang 1.23 is required.
- Docker is essential for setting up the development environment.
-
Clone the Repository:
git clone https://github.com/emoss08/Trenova.git cd Trenova
-
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.
- Run
-
Application Access:
- The React frontend is at
localhost:5173
. - The Fiber backend at
localhost:3001
. - The FastAPI backend at
localhost:8000
.
- The React frontend is at
-
Generate RSA Keys:
- Run
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
in thetrenova
directory. - Run
openssl rsa -pubout -in private_key.pem -out public_key.pem
in thetrenova
directory.
- Run
- Explore the tech stack, including Fiber, FastAPI, and React.
- Review the project structure and documentation for insights into our architecture and patterns.
- Fork and Branch: Fork the Trenova repository and create a feature branch from
main
. - Commit Changes: Commit your changes with descriptive messages.
- Testing: Ensure functionality is intact.
- Pull Request: Push to your fork and open a pull request against our
main
branch.
- Use GitHub issues for bug reports or feature suggestions.
- Provide detailed descriptions and reproduction steps for bugs.
- 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.
- We follow the Effective Go guidelines. Adhere to these guidelines for any Golang code contributions.
- This includes conventions on naming, comments, formatting, and more.
- Maintain consistency with the existing codebase.
- Use clear, descriptive naming and include comments for complex logic.
- Commit messages should be clear and concise, explaining the what and why of your changes.
- Describe your changes thoroughly in pull requests.
- Reference related issues or discussions.
- Stay informed by regularly visiting the GitHub repository for updates and discussions.
- 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.