Skip to main content

Development Tools and Frameworks

Document Control​

  • Last Updated: February 4, 2025
  • Version: 2.0.0
  • Status: Active
  • Owner: Development Team
  • Next Review: May 4, 2025

Overview​

This document outlines the standard tools and frameworks used at GravityVC. These tools have been carefully selected to ensure consistency, efficiency, and quality across all projects. We always use the latest stable versions of all tools unless specifically noted otherwise.

Core Development Stack​

1. Code Editors & IDEs​

ToolPurposeRequired Extensions
Visual Studio CodePrimary IDE- ESLint - Prettier - GitLens - Docker - Live Share

2. Version Control​

ToolPurposeConfiguration
GitHubRepository hosting- Branch protection - Required reviews - Actions enabled
GitVersion control- Conventional commits - Signed commits - GPG verification

3. Package Management​

ToolPurpose
pnpmNode.js package manager
PoetryPython dependency management
MavenJava dependency management

Development Tools​

1. Frontend Development​

CategoryToolPurpose
FrameworkNext.jsPrimary React framework
StylingTailwind CSSUtility-first CSS
State ManagementReact QueryServer & client state
FormsReact Hook FormForm handling
TestingJest & React Testing LibraryUnit testing
E2E TestingCypressIntegration testing

2. Backend Development​

CategoryToolPurpose
API FrameworkNext.jsAPI routes with app router
Database ORMPrismaDatabase operations
API DocumentationSwaggerAPI documentation
TestingJestUnit testing
SecurityHelmetHTTP security

3. Database & Storage​

CategoryToolPurpose
Primary DBPostgreSQLMain database
CachingRedisSession & cache storage
SearchElasticsearchFull-text search
File StorageAWS S3Media storage
CDNCloudflareContent delivery

DevOps & Infrastructure​

1. CI/CD Pipeline​

ToolPurposeConfiguration
GitHub ActionsCI/CD automationCustom workflows
DockerContainerizationMulti-stage builds
KubernetesContainer orchestrationProduction clusters

2. Monitoring & Logging​

ToolPurposeIntegration
DatadogAPM & monitoringFull stack
SentryError trackingFrontend & backend
ELK StackLog aggregationCentralized logging

3. Security Tools​

ToolPurposeScope
SnykDependency scanningAll repositories
SonarQubeCode qualityAll code
GitGuardianSecret detectionPre-commit

Project Management & Collaboration​

1. Project Tools​

ToolPurposeTeam
GitHub ProjectsPrimary project managementAll teams
JiraAlternative project managementClient preference
GitHubDocumentationAll teams
TeamsPrimary communicationAll teams
SlackAlternative communicationClient preference
FigmaDesignDesign team

2. Code Quality​

ToolPurposeConfiguration
ESLintLintingCustom ruleset
PrettierFormattingStandard config
HuskyGit hooksPre-commit checks

Testing & QA​

1. Testing Tools​

ToolPurposeUsage
JestUnit testingAll JavaScript/TypeScript
CypressE2E testingWeb applications
k6Load testingAPIs
TestRailTest managementQA team

2. Browser Testing​

ToolPurposeCoverage
BrowserStackCross-browserMajor browsers
LighthousePerformanceWeb vitals
WAVEAccessibilityWCAG compliance

Development Environment Setup​

# 1. Install Node.js & pnpm
curl -fsSL https://get.pnpm.io/install.sh | sh -
pnpm setup

# 2. Install global dependencies
pnpm add -g typescript ts-node

# 3. Install Docker
brew install docker

# 4. Install Kubernetes tools
brew install kubectl helm

# 5. Install development tools
brew install git gpg postgresql redis elasticsearch

Best Practices​

1. Tool Usage​

  • Use only approved tools
  • Follow configuration standards
  • Maintain documentation
  • Regular updates
  • Security scanning

2. Environment Setup​

  • Use Docker for services
  • Follow security guidelines
  • Regular maintenance
  • Version control
  • Backup strategy
  • Development Environment Guide
  • Security Guidelines
  • CI/CD Pipeline Guide
  • Code Standards
  • Testing Guidelines