Workspace Setup
- Software Installations:
- Node.js (v16): The runtime environment for both our frontend and backend applications.
- PostgreSQL: Our primary database system.
- 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:
- How to Run:
- Ensure Node.js (v16) is installed.
- Clone the repo and navigate to its directory.
- Run
npm install --legacy-peer-deps
. - Run
npm start
.
- Backend Linking: The backend URL linkage can be adjusted in
src/utils/axios.js
. For staging, usehttps://app.galileoprotocol.io/api/v1
orlocalhost:4000/api/v1
for local backend instances.
- How to Run:
Backend Repo:
- How to Run:
- Ensure both Node.js (v16) and PostgreSQL are installed.
- Clone the repo and navigate to its directory.
- Run
npm install
. - For database setup, run
npm run db:reset
. - To start the backend, run
npm start
.
- 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.
- How to Run:
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!