A Next.js application.
- Prisma ORM and Drivers
- Zod
- SQLite for initial implementation
- Tailwind for quick style implementations
- React-hook-form for form templating and handling
Using SQLite for quick implementation, external resources will be preferred later.
Quick implementation, Schema safe operations, safe layer between application - driver - database.
Greate for templating forms and validation.
Change local.env to .env
Run:
npm run init-projectnpx create-next-app@latest
npm install typescript tsx @types/node --save-dev
npx tsc --init
npm install prisma @types/node @types/better-sqlite3 -D
npm install @prisma/client @prisma/adapter-better-sqlite3 dotenv
npx prisma init --datasource-provider sqlite --output ../generated/prisma
npx prisma generate
npx prisma migrate dev --name initPriorited base setup in each phase of the application.
Base Schema is set in Prisma. Types have been set in the library. Zod has been configured and connected the form in the DynamicForm component.
I created a database seed to show implementation of different form templates that can be called by name.
Basic UI has been created for typical fields such as text, email, number, checkbox, select. Along with form validation.
This would definitely be a useful feature but was deprioritized.
This would reqiure more descussion around submission usage and integration into current or future systems. Current implementation is simply a JSON insert into the database FormSubmissions table.
Ideally this would connect remote to Postgres
Ideally we would have a machine name here instead of requesting based on it's name, this would most certainly be my next change.
Ideally this would connect remote to Postgres
Further documentation would be benificial
I would typically prioritize this very high, but set aside for the interest of time.