Product Engineering Onboarding Guide
Apps & Access
Access / Setup
- Slack + channels
- Meetings
- Engineering Google Shared Drive
- Flipside Web App - register and DM Don to get added to the Flipside organization
- Discord - join our community!
Tools / Services
- Github - all the codes
- Vercel - web app platform-as-a-service (After clicking on the invite link, create a Vercel account with github auth before logging in)
- Sentry - error tracking
- Jira - project management
- Datadog - log management and performance monitoring
- Lucid Chart - diagram tool
- Notion - documentation (apologies for the lack of organization)
- Figma - collaborative design tool (ask Lindsay)
- Cypress Dashboard - web app test runner
- Rudderstack - web app event hub (like Segment)
- Apollo Studio - GraphQL interface
- Sendgrid - transactional email as a service
- LaunchDarkly - feature flag service
Education
- Flortal - company intranet
- Process docs
- THE SCAVENGER HUNT! - Make sure to do the DeFi scavenger hunt in your spare time:. It gives a good overview of DeFi and has a $500 reimbursement for your crypto buy on there.
- GJ’s Guide to Terra
Process
General Docs
Local Environment Setup
- Install Homebrew + Git
- Generate SSH key and add to your GH profile
- Install nvm using the instructions on their repo
- Use nvm to install the 14.17.0 version of node (
nvm install 14.17.0) - Primary repos - clone these and use the instructions in the repo READMEs
- product-eng monorepo (contains the graphql-api and platform-api-go)
- React web app
- Running the React web app via directions in the README will point the app at the dev server (https://node-api.flipside.kitchen/ ).
- If you want to point it at localhost, open the .env.development file and set NEXT_PUBLIC_GRAPHQL_URL=http://localhost:3001
- The local server sets up the user:
- username: test@flipsidecrypto.com
- password: password
- The dev server sets up the user:
- username: test@flipsidecrypto.com
- password: totallysecure
System Access
External systems are made accessible in two different ways. VPN and by tunneling in. Once we move the Prod Postgres RDS to our new VPC, tunneling will go away and everything will be accessible by VPN.
- VPN Access
https://www.notion.so/teamflipside/DevOps-92bd6885ee8a4e2cabe209760909e0a9
Prod Postgres Replica (must VPN)
- postgres://prod_platform_api_db_3547500:##PASSWORD##@prod-product-db-3-read-replica.cik7nbaqdhks.us-east-1.rds.amazonaws.com:5432/prod_platform_api
Staging Postgres (must VPN)
- postgres://platform_api:##PASSWORD##@product-eng-stg-us-east-1-pgsql.flipside.kitchen:5432/platform_api
Prod Redis (must VPN)
- Command
redis-cli -h 'product-eng-prod-us-east-1-redis.flipside.systems' -p 6379
Staging Redis (must VPN)
- Command
redis-cli -h 'product-eng-stg-us-east-1-redis.flipside.kitchen' -p 6379