stnguyen90 / invoice-generator

1 stars 0 forks source link

Research tools #3

Closed stnguyen90 closed 6 months ago

stnguyen90 commented 6 months ago

Research tools and technology and decide on the tech stack.

stnguyen90 commented 6 months ago

Backend

For the backend, we'll use Appwrite version 1.5 so that we can make use of the messaging features to send invoices.

Appwrite Functions

Appwrite functions will be used to:

  1. Generate the PDF
  2. Send the PDF

We'll use TypeScript to make use of the node ecosystem (packages) and the type safety TypeScript provides will help reduce problems in our code.

Generating the PDF

We should probably generate the PDF by creating an HTML page and then converting that to PDF. Some resources on different HTML to PDF libraries:

Frontend

UI

We'll use React for our UI library since it's popular and has a big ecosystem (packages).

Framework

Next.js and Remix are popular, but there's a learning curve and you can run into troubles with some of the SSR aspects. As such, we'll just use TanStack libraries for routing and maybe others.

Note: TanStack originally built TanStack Query (formerly known as ReactQuery) which was one of the most popular data fetching libraries

Some reference:

Components

We'll use shadcn/ui for our component library since it's:

  1. works with React
  2. a popular (53k stars) UI library
  3. customizable
  4. includes a Figma file for prototyping in Figma
stnguyen90 commented 6 months ago

@vermakhushboo, any questions/comments/concerns about what I have above?