이 프로젝트는 쇼핑 시스템의 단순화 된 구현이며,이 프로젝트는 사용자가 제품을 구매하고 판매 할 수있는 모바일 전자 상거래 애플리케이션에서 찾을 것으로 예상되는 기본 기능을 제공하는 것을 목표로합니다. 앱을 탐색하려면 사용자가 스스로 인증해야합니다. 로그인하면 사용자는 사용 가능한 제품 목록을 스크롤하고 카트에 다른 제품을 추가하고 주문할 수 있습니다. 사용자는 자신의 제품을 메인 스토어에 추가, 편집, 제거 할 수도 있습니다.
이 앱에는 백엔드 용 Firebase Auth Rest API를 사용하여 구현 된 간단한 인증 시스템이 포함되어 있습니다. 인증 프로세스가 성공하면 고유 한 토큰이 백엔드에서 우려되는 사용자에게 전송됩니다. 그런 다음 토큰은 장치에 로컬로 저장되며 수신기의 1 시간 이후 정확히 만료됩니다. 만료되면 토큰이 장치에서 삭제되고 사용자는 자동으로 로그 아웃하고 로그인 화면으로 프롬프트됩니다. 그렇지 않으면 인증 프로세스에 문제가 발생하면 화면에 올바른 오류 메시지가 표시됩니다.
사용자가 일부 데이터를 입력 할 때마다 올바른 자격 증명을 제공하기 위해이 프로젝트의 모든 양식에는 유효성 검사가 필요할 때마다 재사용되는 기본 유효성 검사 알고리즘이 포함되어 있습니다.
이 프로젝트의 대부분의 데이터 (제품, 주문, 사용자)는 Firebase Realtime 데이터베이스에 저장됩니다. 일부 다른 사용자 별 데이터 (Auth-Token, Favorite 제품)는 Asyncstorage를 사용하여 장치에 로컬로 저장됩니다.
이 프로젝트의 모든 탐색은 React Navigation v5로 구축됩니다.
이 앱에는 매끄러운 사용자 경험을 제공하기 위해 다양한 화면에 다양한 유형의 애니메이션이 포함되어 있습니다. 모든 애니메이션은 React Native Ranimated Library를 사용하여 구현됩니다. 즉, 다양한 스타일 속성을 애니메이션하는 데 필요한 대부분의 계산이 기본 측면에서 UI 스레드에서 수행된다는 것을 의미하므로 기본과 반응의 브리지가 매우 부드럽게 교차하지 않으므로 JS 스레드가 중단되지 않으면 절대 가로 지르지 않습니다. 저가형 장치에서도 60fps에서 실행하십시오.
이 앱에 사용 된 모든 설계 자산 (스크린, 구성 요소, 아이콘 ...) 은이 프로젝트의 소유자가 작성합니다.
프로젝트를 로컬로 실행하려면 다음 명령을 순서대로 실행합니다.
로컬로 프로젝트를 복제하십시오
$ git clone https://github.com/abdoutech19/shop-app.git
프로젝트 루트 디렉토리로 이동하십시오
$ cd shop-app
모든 종속성을 설치하십시오
$ yarn install || npm install
디버그 모드에서 프로젝트를 실행하십시오
$ npx react-native run-android
또는 부드러운 경험을 위해 릴리스 모드로 프로젝트를 실행하십시오.
$ npx react-native run-android --variant=release
참고 : 이 프로젝트는 Hermes JavaScript 엔진을 사용하여 시작 시간을 개선하고 메모리 사용량을 줄이며 앱 크기를 줄입니다. 이러한 개선이 적용 되려면 앱이 릴리스 모드에서 실행되어야합니다. 그렇지 않으면 Hermes는 디버그 모드의 성능 향상에 영향을 미치지 않습니다. 실제로 일부 개발자는 디버그 모드에서 Hermes 엔진을 활성화하면 결과가 느려지는 것을 보았습니다.
Android 장치에서 앱을 테스트하려면 여기에서 .apk 파일을 다운로드 할 수 있습니다. Shopping.
MIT 라이센스에 따라 배포됩니다. 자세한 내용은 라이센스를 참조하십시오.
[email protected]으로 이메일을 보내주십시오.