|
1 | 1 | # Gearbox: Intuitive, Powerful Scouting at [4026.org](https://4026.org) |
2 | 2 |
|
3 | 3 | The final incarnation of Scout Janssen. |
4 | | - |
5 | 4 | Rewritten fully in Typescript, written to be easy to maintain and modular. |
6 | 5 | Features full feature parity with SJ2, whilst remaining simpler, faster and cooler. |
| 6 | +Used by 190+ teams worldwide to collect 380,000+ datapoints across 230+ competitions. |
7 | 7 |
|
8 | 8 | ## Features |
9 | 9 |
|
@@ -82,6 +82,61 @@ You've made it past set up and are ready to contribute to the future of scouting |
82 | 82 |
|
83 | 83 | We recommend you start with issues labelled `good first issue` to get a feel for the codebase. Fork the repo (unless you're part of Decatur Robotics, in which case make a new branch) and then make a pull request to the main branch. We'll review it and, if it looks good, merge it. |
84 | 84 |
|
| 85 | +## Other Repositories |
| 86 | + |
| 87 | +Our Terraform code is in a separate repository, [Gearbox-Terraform](https://github.com/Decatur-Robotics/Gearbox-Terraform). |
| 88 | + |
| 89 | +We've also developed several packages that we use (available through NPM): |
| 90 | + |
| 91 | +- [mongo-anywhere](https://github.com/Decatur-Robotics/mongo-anywhere) - Provides dependency injection and mocks for MongoDB. Gearbox has wrappers around this package's `DbInterface` types. |
| 92 | +- [unified-api](https://github.com/Decatur-Robotics/unified-api) - Provides handling and structure for API routes. |
| 93 | +- [unified-api-nextjs](https://github.com/Decatur-Robotics/unified-api-nextjs) - Provides types and templates for Next.js API routes. |
| 94 | +- [omit-call-signature](https://github.com/Decatur-Robotics/omit-call-signature) - Provides a type for removing call signatures from another type and a type for removing constructor signatures from a class type. Gearbox doesn't directly use this package, but the `unified-api` package does. |
| 95 | + |
| 96 | +## Tools Used |
| 97 | + |
| 98 | +### Codebase |
| 99 | + |
| 100 | +- Typescript |
| 101 | +- Next.js |
| 102 | +- NextAuth |
| 103 | +- MongoDB |
| 104 | + |
| 105 | +### Testing |
| 106 | + |
| 107 | +- Jest |
| 108 | +- Playwright |
| 109 | + |
| 110 | +### Dev Tools |
| 111 | + |
| 112 | +- GitHub Actions |
| 113 | +- Prettier |
| 114 | +- ESLint |
| 115 | + |
| 116 | +### Hosting & Infrastructure |
| 117 | + |
| 118 | +See the [Gearbox-Terraform](https://github.com/Decatur-Robotics/Gearbox-Terraform) repository for more details. |
| 119 | + |
| 120 | +- Terraform (stored in the [Gearbox-Terraform](https://github.com/Decatur-Robotics/Gearbox-Terraform) repository) |
| 121 | +- HashiCorp Managed Terraform (to apply the Terraform code) |
| 122 | +- AWS ECS |
| 123 | +- AWS S3 (to store secrets) |
| 124 | +- Cloudflare (for DNS) |
| 125 | +- MongoDB Atlas |
| 126 | +- Docker |
| 127 | +- GitHub Actions |
| 128 | +- GitHub Container Registry |
| 129 | + |
| 130 | +### External APIs |
| 131 | + |
| 132 | +- The Blue Alliance API (for match data) |
| 133 | +- The Orange Alliance API (for match data) |
| 134 | +- Rollbar (for error tracking and deployment notifications) |
| 135 | +- Resend (for email sending) |
| 136 | +- Google Analytics |
| 137 | +- Google OAuth (for authentication) |
| 138 | +- Slack OAuth (for authentication) |
| 139 | + |
85 | 140 | ## Contibutors |
86 | 141 |
|
87 | 142 | <a href="https://github.com/Decatur-Robotics/Gearbox/graphs/contributors"> |
|
0 commit comments