- Use camelCase for variable and function names.
- Use PascalCase for class names and interface names.
- Use camelCase for interface members.
- Use PascalCase for type names and enum names.
- Name files with camelCase (for example, ebsVolumes.tsx or storage.tsb)
ESLint statically analyzes the code to quickly find issues. Prettier is a code formatter that dynamically updates code to adhere to certain formatting rules.
Resources: What is a Linter ?, ESlint, Prettier
The project enforces the Conventional Commits specification. This means that all your commit messages must be formatted according to the specification. To help you write commit messages, the project uses Commitizen, an interactive CLI that guides you through the commit process.
To commit new changes simply run npm run commit
instead of git commit -m
.
- Use camelCase for variable and function names.
- Use PascalCase for class names and interface names.
- Use camelCase for interface members.
- Use PascalCase for type names and enum names.
- Name files with camelCase (for example,
myFile.tsx
orviews.tsx
)
Our API will be completely Serverless harnessing the power of Firestore, Cloud Functions, API Getaway, and Typescript.
Here's a Short Guide about the best practices for working with Typescript.
If you check out the Firestore REST API specification and compare it to the structure of the endpoints for cloud functions. You will notice two divergent patterns, the former follows a resource naming structure, and the latter has urls that are action oriented. So in order to create a fully serverless API solution that adheres to RESTful principles and provides a consistent, easy to use interface for the frontend teams, we can use API getaway, this would allow us to create a unified interface that can route requests to either Firestore or Cloud Functions.