チャットアプリ作成方法メモ - ishida163/memo GitHub Wiki

チャットアプリ参考

firebaseとRealtime Database 使用

https://tech-blog.rakus.co.jp/entry/20190930/firebase

AWS AppSync + Amazon DynamoDB + React

https://fixel.co.jp/blog/amplify-realtime-chat/
https://blog.usize-tech.com/chat-webapp-by-appsync-dynamodb-react/
https://dev.classmethod.jp/articles/react-amplify-appsync-dynamodb-tutorial/

※ 本格的なチャットアプリなら「Websoket」 簡易的なチャットアプリなら3秒ごとデータとりに行く感じでも可

AWS AppSyncのデフォルトスキーマ

input CreateChat_testInput {
	serviceid: String
	datetimeuser: String!
	datetime: String
	message: String
	user: String
}

input DeleteChat_testInput {
	datetimeuser: String!
}

input TableBooleanFilterInput {
	ne: Boolean
	eq: Boolean
}

input TableChat_testFilterInput {
	serviceid: TableStringFilterInput
	datetimeuser: TableStringFilterInput
	datetime: TableStringFilterInput
	message: TableStringFilterInput
	user: TableStringFilterInput
}

input TableFloatFilterInput {
	ne: Float
	eq: Float
	le: Float
	lt: Float
	ge: Float
	gt: Float
	contains: Float
	notContains: Float
	between: [Float]
}

input TableIDFilterInput {
	ne: ID
	eq: ID
	le: ID
	lt: ID
	ge: ID
	gt: ID
	contains: ID
	notContains: ID
	between: [ID]
	beginsWith: ID
}

input TableIntFilterInput {
	ne: Int
	eq: Int
	le: Int
	lt: Int
	ge: Int
	gt: Int
	contains: Int
	notContains: Int
	between: [Int]
}

input TableStringFilterInput {
	ne: String
	eq: String
	le: String
	lt: String
	ge: String
	gt: String
	contains: String
	notContains: String
	between: [String]
	beginsWith: String
}

input UpdateChat_testInput {
	serviceid: String
	datetimeuser: String!
	datetime: String
	message: String
	user: String
}

type chat_test {
	serviceid: String
	datetimeuser: String
	datetime: String
	message: String
	user: String
}

type chat_testConnection {
	items: [chat_test]
	nextToken: String
}

type Mutation {
	createChat_test(input: CreateChat_testInput!): chat_test
	updateChat_test(input: UpdateChat_testInput!): chat_test
	deleteChat_test(input: DeleteChat_testInput!): chat_test
}

type Query {
	getChat_test(datetimeuser: String!): chat_test
	listChat_tests(filter: TableChat_testFilterInput, limit: Int, nextToken: String): chat_testConnection
}

type Subscription {
	onCreateChat_test(
		serviceid: String,
		datetimeuser: String,
		datetime: String,
		message: String,
		user: String
	): chat_test
		@aws_subscribe(mutations: ["createChat_test"])
	onUpdateChat_test(
		serviceid: String,
		datetimeuser: String,
		datetime: String,
		message: String,
		user: String
	): chat_test
		@aws_subscribe(mutations: ["updateChat_test"])
	onDeleteChat_test(
		serviceid: String,
		datetimeuser: String,
		datetime: String,
		message: String,
		user: String
	): chat_test
		@aws_subscribe(mutations: ["deleteChat_test"])
}
⚠️ **GitHub.com Fallback** ⚠️