Skip to main content

Workspace Setup

  1. Software Installations:
    • Node.js (v16): The runtime environment for both our frontend and backend applications.
    • PostgreSQL: Our primary database system.
  2. Recommended IDE: Visual Studio Code. It's feature-rich and supports a variety of extensions that complement our tech stack.

Tech Stack and Versioning

  • Backend:
    • NodeJS (v16)
    • ExpressJS
    • PostgreSQL
    • Sequelize
  • Frontend:
    • ReactJS
    • Redux
    • Material-UI (MUI)
  • Web3 Integration:
    • ethers.js

Repositories Overview

All our repositories can be found at Galileo-Protocol-io on GitHub.

  • Frontend Repo:

    1. How to Run:
      1. Ensure Node.js (v16) is installed.
      2. Clone the repo and navigate to its directory.
      3. Run npm install --legacy-peer-deps.
      4. Run npm start.
    2. Backend Linking: The backend URL linkage can be adjusted in src/utils/axios.js. For staging, use https://app.galileoprotocol.io/api/v1 or localhost:4000/api/v1 for local backend instances.
  • Backend Repo:

    1. How to Run:
      1. Ensure both Node.js (v16) and PostgreSQL are installed.
      2. Clone the repo and navigate to its directory.
      3. Run npm install.
      4. For database setup, run npm run db:reset.
      5. To start the backend, run npm start.
    2. Environment Setup: A .env file needs to be created at the root directory to handle environment variables (like DB connections, API keys, etc.). Please consult with one of the developers for the required variables.

Code Standards and Review

  • Project Structure: Each repo has a dedicated README which outlines the specific structure and directory layout.
  • Coding Conventions: We adhere to industry best practices and often use tools like ESLint and Prettier to enforce coding standards. It's crucial to maintain consistency and readability.
  • Code Review Process: Every feature or fix starts with a pull request. Code should be self-documented, accompanied by relevant comments. At least two team members must review each pull request before it's merged.

Tips and Best Practices

  • Commit Often: It's advisable to commit your changes often rather than making large, monolithic commits.
  • Stay Updated: Regularly pull the latest changes from the staging branch to avoid merge conflicts.
  • Seek Feedback: Our team thrives on collaboration. If you're unsure about an implementation or need suggestions, don't hesitate to ask.
  • Document As You Go: If you introduce a new feature or update an existing one, ensure the related documentation is updated too.

By familiarizing yourself with the above aspects, you'll be well-prepared to embark on your development journey with Galileo. If you encounter challenges or uncertainties, remember, the team is here to help!