Open samuraikun opened 8 months ago
Seems to be great overall, but I'd like to add some comments below.
Framework: Nest.js
No suggestion or preferable but just simple question:
As long as I google GraphQL servers, Apollo server
is also popular and reliable. And I've used this before.
And Nest.js seems to use it within it. It might be useful and simplified, but when some problems happens, it's going to be more difficult to fix it, for sure.
What do you think about the pros and cons of them ?
Authentication/Authorization: Supabase
Want some explicit comments where and how exactly we store user password
just in case.
And token as well.
Server (WIP)
First of all, Cloud Run looks nice ! But I'd say it's not going to be the reason that we'll choose it as a server with above investigation.
Somewhat it looks docker is considered that important though, is it really necessary in this project first of all? From where I sit, it'd be rather inconvenient when we can prepare particular environment, which are like exact version of nodejs run time, OS and whatnot. My concern is building time of container image and how we manage.
And AWS says it officially supports Docker with Lambda
Database Architecture (WIP)
naming rule From where I sit, in general, snake case seems to be preferable in RDB context instead of camel case.
overall
What is uuid
for in each table? Is id
as PK used internal system, and uuid
for external, as in API (GraphQL id ?), something like that ?
Users => After I figure out where and how exactly we handle with password, just wanna clarify
Profiles Do we actually need this table ? Can you give me some use case ?
Invitations
How we handle with permissionLevel
.. yes nice, and how we regulate.
TripFiles I'm wondering if we could allow users to add more than 1 images to every trip. As long as I see UI wireframe, it'd be enough 1.
@Yo-mah-Ya This issue is too huge💦 So, I divided it into several like below.
Introduction
Scope
Background
Required
Proposal
Language: TypeScript
Reason
Database: PostgreSQL(Supabase)
Reason
Database Architecture
Auth
GraphQL API
※ Full-scratch approach
Framework: Nest.js
GraphQL middleware:
These are described nest.js document. https://docs.nestjs.com/graphql/quick-start#installation
@nestjs/graphql
@nestjs/apollo
@apollo/server
graphql
Test tool: @nestjs/testing
ORM: Prisma
Reason
Validation: zod
Reason
Storage: Subase Storage
Reason
CI/CD
Reason