/blueflix

The work consists of creating an application that contains features of an app complete, with login and user registration screens, complete CRUD, navigation between screens, etc.

Primary LanguageJavaScript

Second Mobile Advanced work

🎓 College: Faculdade Metodista Granbery

👨‍🏫 Teacher: Érica C. R. Carvalho - Github | Linkedin


Subject: Advanced Mobile Development

Delivery date: 27/11/22 (AVA plataform) - Presentation date: 28/11/22

Value: 4 points

Theme:Continue the final work of the previous subject / Student choiceThe work is individual


Description

The work consists of creating an application that contains features of an app complete, with login and user registration screens, complete CRUD, navigation between screens, etc. A theme must be chosen and all images and colors must be related with that theme. All the contents covered in the subjects of “Introduction to Mobile Development” and “Advanced Mobile Development” must be considered.

The following are some elements that must contain MANDATORY at work:

  • React Hooks (useState, useEffect, useRef, etc..)
  • Navigation (Stack or Tabs or Drawer)
  • Icons (Icons)
  • animation
  • Modal or Modalize
  • Flatlist and Card
  • Firebase Authentication
  • Firebase Firestore (full CRUD and data persistence)
  • Camera and Google Maps manipulation

Attention:

  • After choosing the theme and the main colors of the app, the pages must contain information related to the topic, such as texts, photos, videos, cards, etc. Pages without content will not be accepted.
  • Any extra content will be scored.

The evaluation of the work will consider:

a) The required mandatory elements

b) The organization of the code

c) The look of the app (colors, layout, etc.)

d) Extra content

The following elements must be present in the code:

  • The code must be organized and readable. Folders must be created for each “part” of the code: components, images, screens, routes, etc.
  • Colors and sizes must be in a separate file (eg colors.js and sizes.js)
  • Buttons and text inputs, etc. must be a stateless component (eg: MyButton.js and MyTextInput.js)

Observations:

  • The work must be done in a group and it is not allowed to copy the work of the other group. If this occurs, the grade will be divided by the total number of students involved in the copy.
  • The Github link containing the work (or the zipped file) must be sent by AVA.
  • All students must present their work on the agreed date.
  • Use creativity and create a cool app =)
  • Any questions/problems, contact us by email.

Tools

  1. Firebase:
$ npm install firebase
  1. Tutorial Expo e Firebase:

  2. Arquivo de configuração do Firebase em anexo (firebaseconfig.js)

  3. Em todas as páginas, importar:

import { auth } from '../config/firebaseconfig';
  1. Funções para a tela 'Login': signInWithEmailAndPassword e onAuthStateChanged
import { signInWithEmailAndPassword, onAuthStateChanged } from 'firebase/auth';
  1. Função para a tela 'Cadastro': createUserWithEmailAndPassword
import { createUserWithEmailAndPassword } from 'firebase/auth';
  1. Função para a tela 'Home': signOut
import { signOut } from 'firebase/auth';
  1. Tratando os erros (lista de erros do firebase):

FLATLIST

Flatlist

CARD

Card

    npm install react-native-paper@5.0.0-rc.4

Modalize

Modalize

    npm add react-native-modalize

    npm add react-native-gesture-handler

    npx pod-install ios

Modal

useRef


API

apimovie


Carrousel

Carousel

Project Images:

Screenshot_20221127_130732_host exp exponent Screenshot_20221127_130719_host exp exponent Screenshot_20221127_130724_host exp exponent Screenshot_20221127_130736_host exp exponent Screenshot_20221127_130740_host exp exponent

SVID_20221127_184955_1.mp4