A website built in native AWS using the latest and most performant technologies accessible at TheTaskFlows
This repository contains a Lerna monorepo which contains the Node.js packages used to create TheTaskFlows project (apart from my CloudFormation template).
To build, simply run npm install
then npm run build
.
To spin up the development server, run npm run start
.
Note - I have not included and CDK or CFN code for security purposes.
-
Node.js: Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a browser and is built on Chrome's V8 JavaScript engine.
-
npm: npm (Node.js Package Manager) is a package manager for the JavaScript programming language and is the default package manager for the Node.js.
-
Lerna: Lerna is a tool for managing Javascript projects with multiple packages within a single monorepo. It is what allows me to have dedicated Node.js packages for each major component (i.e. api, ui, etc) within a single repository.
-
TypeScript: TypeScript is an open-source programming language developed that is a strict syntactical superset of JavaScript that adds optional static typing to the language. TypeScript is designed for development of large applications and transpiles to JavaScript.
-
tRPC: tRPC is client/server framework for building full stack, type-safe applications by automatically generating REST-ful APIs with the query and mutation experience similar to that of GraphQL.
-
Vitest: Vitest is a next generation JavaScript testing framework that comes fully loaded with all of thea features you need to write tests such as mocking, generating code coverage, generating snapshots, making assertions, and more.
-
ESLint: ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript code and offers powerful features such as customization and automatic fixing.
-
Prettier: Prettier is an opinionated code formatter that enforces a consistent style.
-
React: React is a declarative, component based JavaScript library for building user interfaces.
-
MUI: MUI is a set of React components that implement Google's Material Design specification.
Below is a list of commands available to run on this package.
npm run build
: Builds the packagenpm start
: Spins up a development servernpm run fix
: Automatically fixes most formatting and linting issuesnpm run clean
: Cleans the packagenpm run test
: Runs testsnpm run build -w @team10/api
: Builds the API packagenpm run build -w @team10/ui
: Builds the UI package
All of the packages that power the website are contained in /packages
. Below is a list of the packages and their role.
api
: Contains all of the code for running the backend APIui
: Contains all of the code for the UI of the websitecfn (hidden)
: Contains the CloudFormation template for the website