카테고리 없음

[Roubit]

안다희 2020. 2. 25. 14:59
728x90

https://github.com/wmcmahan/react-native-calendar-events

 

wmcmahan/react-native-calendar-events

📆 React Native Module for iOS and Android Calendar Events - wmcmahan/react-native-calendar-events

github.com

 

react-native link react-native-calendar-events

했음

 

https://github.com/wmcmahan/react-native-calendar-events/wiki/iOS-setup

info.plist 추가하니 권한 요청할 때 크래시 사라짐.

 

그냥.... 알람은.... 커스텀이었던거다.

 

yarn add react-native-push-notification

https://www.npmjs.com/package/react-native-push-notification

 

react-native-push-notification

React Native Local and Remote Notifications

www.npmjs.com

 

설치 쭉 따라가고, firebase는 remote를 안쓸거니까 firebase 나오는 부분은 다 스킵했음.

안드, ios 모두 local noti 오는거 확인!

 

근데 안드는 왜이렇게 알람이 계속 오지?

 

이제 nfc 스캔 시 알람이 꺼지도록 해보자.

 

일단 nfc 스캔하는 라이브러리를 찾아봐야지

 

https://www.npmjs.com/package/react-native-nfc-manager

 

react-native-nfc-manager

A NFC module for react native.

www.npmjs.com

 

https://coding-dahee.tistory.com/127

 

[React Native] NFC 스캔

https://www.npmjs.com/package/react-native-nfc-manager react-native-nfc-manager A NFC module for react native. www.npmjs.com

coding-dahee.tistory.com

여기 참고

 

안드로이드만 함. 아이폰은 실제 테스트가 안되니까 일단 설치만 해두자.

Extra iOS setup is required
이것도 따라해두긴 함

 

 

만 함

 

https://github.com/hansemannn/iOS-NFC-Example

에서 Provisioning Profile entitled with the NFC Tag Reading capability: 다음부터는 안함

 

 

[푸시 알림 사용 라이브러리]

https://github.com/zo0r/react-native-push-notification

 

 

[버그 해결]

https://coding-dahee.tistory.com/131

 

[React Native] react-native-push-notification local notification 안드로이드 알람이 멈추지 않을 때

- 사용 라이브러리 https://github.com/zo0r/react-native-push-notification - 환경 RN 0.61.5 - 버그 안드로이드 설치 따라하고, local notification을 실행시켜 봤는데, 알림이 멈추지 않고 계속 왔다. Android..

coding-dahee.tistory.com

 

[floating button]

https://github.com/mastermoo/react-native-action-button

 

mastermoo/react-native-action-button

customizable multi-action-button component for react-native - mastermoo/react-native-action-button

github.com

 

docker 깔기

로그인

daheeahn

deg9810@gmail.com

상태바에서 로그인

 

yarn

npx prisma2 init

prisma/.env 붙여넣기

# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables

# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings

DATABASE_URL="postgresql://testuser:testpasswd@localhost:5432/testdb?schema=public"

prisma2/schema.prisma 붙여넣기

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

enum Sex {
  male female
}

enum Provider {
  kakao
}

model User {
  id          Int         @id @default(autoincrement())
  nickname    String
  birthdate   DateTime
  sex         Sex
  userPushId  String?
  userAccount UserAccount
  createdAt   DateTime    @default(now())
  updatedAt   DateTime    @updatedAt
  deletedAt   DateTime?

  @@unique([userPushId, userAccount])
}

model UserAccount {
  id        Int       @id @default(autoincrement())
  snsId     String    @unique
  provider  Provider
  user      User?
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  deletedAt DateTime?
}

model Nfc {
  id        Int        @id @default(autoincrement())
  value     String     @unique
  userNfc   User_nfc[]
  createdAt DateTime   @default(now())
  updatedAt DateTime   @updatedAt
  deletedAt DateTime?
}

model Routine {
  id             Int              @id @default(autoincrement())
  name           String
  user           User
  userNfcRoutine User_nfc_routine
  createdAt      DateTime         @default(now())
  updatedAt      DateTime         @updatedAt
  deletedAt      DateTime?
}

model Alarm {
  id        Int       @id @default(autoincrement())
  name      String
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  deletedAt DateTime?
}

model Result {
  id              Int               @id @default(autoincrement())
  date            DateTime
  userNfcUser     User_nfc_routine
  resultTimestamp Result_timestamp?
  createdAt       DateTime          @default(now())
  updatedAt       DateTime          @updatedAt
  deletedAt       DateTime?
}

model Result_timestamp {
  id           Int       @id @default(autoincrement())
  firstTagging DateTime
  lastTagging  DateTime
  result       Result
  createdAt    DateTime  @default(now())
  updatedAt    DateTime  @updatedAt
  deletedAt    DateTime?
}

model User_nfc {
  id          Int               @id @default(autoincrement())
  description String
  user        User
  nfc         Nfc
  nfcRoutine  User_nfc_routine?
  createdAt   DateTime          @default(now())
  updatedAt   DateTime          @updatedAt
  deletedAt   DateTime?
}

model User_nfc_routine {
  id        Int       @id @default(autoincrement())
  daysArray String
  fromTime  DateTime
  endTime   DateTime
  userNfc   User_nfc
  result    Result[]
  routine   Routine
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  deletedAt DateTime?
}

model User_nfc_alaram {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  deletedAt DateTime?
}

ㄱㅡㄴ데 스키마 바뀔때마다 풀받아야하니까 이거 부분은 prisma 폴더 부분은 다시 알아본대!

 

----------

yarn build

docker-compose up -d // db서버 띄워줌.

----

npx prisma2 migrate save --name 'name' --experimental

npx prisma2 migrate up --experimental

yarn dev

 

accout 먼저 생성해야함

mutation {
  createOneUserAccount(data:{snsId: "edit here", provider:kakao}) {
    id
  }
}
mutation {
  createOneUser(
    data: { nickname: "daheeahn", birthdate:  "2017-11-25T23:55:35.116Z", sex: female, userAccount:{connect:{id: 1}} }
  ) {
    id
    nickname
  }
}

 

 

studio graphql-yoga로 써보기

 

이슈 올려놨다

 

https://github.com/zo0r/react-native-push-notification/issues/1342

 

how not to disappear push notification when gesture sideways · Issue #1342 · zo0r/react-native-push-notification

If I click the push notification and it does not disappear, I can control it with autoCancel. But how do I make sure that I don't disappear even if I gesture sideways? Is there a function like ...

github.com

 

nfc를 태그하면 앱을 실행시켜야 한다!

https://coding-dahee.tistory.com/144

 

[Android/React Native] NFC 태그 시 안드로이드 앱/어플 실행시키는 방법

결과적으로는 https://github.com/observ3r/nfc-ndef-react-native 에 있는 android 코드를 사용했더니 됐다! (라이브러리 설치 없이) 1) android/app/src/main/AndroidManifest.xml 에 다음 권한 추가 <uses-perm..< p=""> </uses-perm..<>

coding-dahee.tistory.com

성공 ㅎ.ㅎ

 

 

- iOS 알람

앱이 아예 꺼졌을 땐 알람을 1번밖에 못울린다. 앱을 켜기 전까지 local push를 반복적으로 보내는 방법밖에 없는데, 어떻게 할까?

백그라운드에 있을 땐 앱을 실행하는 것이 가능한 것 같음.

 

- 루틴 알람 말고 그냥 알람부터 하자!

** 로컬 스토리지에 저장되는걸로!

 

1. 앱 아예 종료 시 알람

- 반복적으로 보낼건가, 그러면 알람이 여러개 알림바에 남는게 되면 안됨

- 아니면 그냥 하면됨.

2. 백그라운드 알람

3. 포그라운드 알람

알람이 있으

 

- 캘린더는 직접 만들자.

 

- 캘린더 복사 를 위해 hover를 알아봤는데

https://codesandbox.io/s/o9q8vy70l5

 

이런 곳이 있긴 하지만 음... 일단 포기! 나중에 알아보자!

 

3/27일

- LongPressGestureHandler 이용ㅇ하면 꾹 눌렀을 때만 활성화되는 어떤걸 할 수도 있겠다!

renderLeft처럼 위로 올리는 제스처도 있나?

 

 

 

 

 

4/16 목 with 재규

 

identityToken 을 해독하면 user가 나오는데 그거 가지고 서버에서 db에 있는지 확인하고 jwt토큰 만들어줘.

그 jwt 토큰 가지고 내가 요청보낼 때 마다 헤더에 보내주면 됨.

 

kakao는 api가 따로 있어서

accessToken가지고 api 때리면 유저 정보 준다.

 

v2/user/me

하면

유저정보 쫙 나옴

 

구글도 token을 주는데 그거 해독한다음에 이메일이 unique 값이니까 그걸로 db에 있는지 찾고 jwt token 만들어서 준다.

 

-----

서버 start는 내가 수동으로 해야하는데 나중에 만나면 하자

 

출처: https://mingos-habitat.tistory.com/34 [밍고의서식지:티스토리]