Este Ă© um elegante e funcional aplicativo de gerenciamento de tarefas, desenvolvido com React Native. AtravĂ©s deste aplicativo intuitivo, vocĂŞ pode facilmente adicionar novas tarefas, editar as existentes e marcar aquelas que foram concluĂdas. AlĂ©m disso, o aplicativo garante que suas tarefas sejam salvas e carregadas localmente, oferecendo uma experiĂŞncia contĂnua e eficiente.
- Adicionar novas tarefas.
- Editar tarefas existentes.
- Marcar tarefas como concluĂdas.
- Armazenar tarefas localmente usando
AsyncStorage
. - Interface amigável com suporte para rolagem e ajuste de teclado.
- React Native: Framework para construção de aplicativos móveis.
- TypeScript: Superset de JavaScript que adiciona tipagem estática.
- React Hooks: Para gerenciamento de estado e efeitos colaterais.
- AsyncStorage: Para armazenamento local de dados.
- FontAwesome: Para Ăcones de interface.
Antes de começar, certifique-se de ter instalado em sua máquina:
- Node.js (versĂŁo recomendada: 14.x ou superior)
- npm (gerenciador de pacotes do Node.js) ou Yarn
- Watchman (para sistemas macOS, pode ser instalado via Homebrew)
- React Native CLI (Ferramenta de linha de comando do React Native)
- Emulador Android ou Xcode (para desenvolvimento iOS)
- Android Studio (para desenvolvimento Android)
Se vocĂŞ ainda nĂŁo tem o Node.js instalado, baixe e instale a versĂŁo recomendada do Node.js do site oficial.
Yarn Ă© uma alternativa ao npm e pode ser instalado globalmente usando npm:
npm install -g yarn
Se vocĂŞ estiver usando macOS, instale o Watchman usando Homebrew:
brew install watchman
Instale a ferramenta de linha de comando do React Native globalmente:
npm install -g react-native-cli
ou
yarn global add react-native-cli
-
Baixe e instale o Android Studio.
-
Durante a instalação, certifique-se de incluir as seguintes opções no instalador do Android Studio:
- Android SDK
- Android SDK Platform
- Android Virtual Device
-
Abra o Android Studio, vá para
Configurações
>Appearance & Behavior
>System Settings
>Android SDK
. -
Em
SDK Platforms
, selecione a versĂŁo mais recente do Android (recomendo Android 10.0). -
Em
SDK Tools
, certifique-se de que as seguintes opções estão marcadas:- Android SDK Build-Tools
- Android Emulator
- Android SDK Platform-Tools
- Android SDK Tools
-
Configure um dispositivo virtual (AVD) em
Configurações
>System Settings
>Android SDK
>SDK Tools
>Android Virtual Device
.
Siga as instruções do guia de configuração do ambiente React Native para configurar seu ambiente para desenvolvimento iOS ou Android.
Clone o repositório do projeto para sua máquina local:
git clone https://github.com/usuario/nome-do-repositorio.git
Acesse o diretĂłrio onde o projeto foi clonado:
cd nome-do-repositorio
Instale todas as dependências necessárias para o projeto. Você pode usar npm ou Yarn:
npm install
ou
yarn install
depois:
npm install @react-native-async-storage/async-storage
npm install @fortawesome/react-native-fontawesome @fortawesome/fontawesome-svg-core react-native-svg
npm install @fortawesome/free-solid-svg-icons
Certifique-se de ter o Xcode instalado e configurado corretamente.
-
Navegue até o diretório
ios
:cd ios
-
Instale as dependĂŞncias do CocoaPods:
pod install
-
Volte para o diretĂłrio principal:
cd ..
-
Execute o aplicativo no simulador iOS:
npx react-native run-ios
-
Conecte o dispositivo iOS ao computador com um cabo USB.
-
Abra o Xcode e abra o projeto iOS:
- Navegue até o diretório
ios
do projeto e abra o arquivo.xcworkspace
no Xcode.
- Navegue até o diretório
-
Selecione o dispositivo na lista de dispositivos no Xcode:
- No Xcode, selecione o dispositivo fĂsico conectado na lista de dispositivos na parte superior da tela.
-
Certifique-se de que o aplicativo esteja configurado para execução no dispositivo:
- Em
Signing & Capabilities
, configure a assinatura do código se necessário.
- Em
-
Execute o aplicativo no dispositivo:
- Clique no botĂŁo
Run
(Ăcone de play) no Xcode para compilar e instalar o aplicativo no dispositivo fĂsico.
- Clique no botĂŁo
Certifique-se de ter um emulador Android configurado ou um dispositivo fĂsico conectado.
-
Execute o aplicativo no emulador Android ou dispositivo fĂsico:
npx react-native run-android
-
Ative o modo de desenvolvedor e a depuração USB no seu dispositivo Android:
- Vá para
Configurações
>Sobre o telefone
. - Toque em
NĂşmero da versĂŁo
várias vezes até ver uma mensagem informando que você agora é um desenvolvedor. - Volte para
Configurações
e acesseOpções do desenvolvedor
. - Ative a
Depuração USB
.
- Vá para
-
Conecte o dispositivo ao computador com um cabo USB.
-
Certifique-se de que o dispositivo esteja visĂvel para o Android Debug Bridge (ADB):
-
Execute o seguinte comando no terminal para verificar se o dispositivo está listado:
adb devices
-
Se o dispositivo estiver listado, você está pronto para continuar. Caso contrário, verifique a conexão USB e as permissões de depuração.
-
-
Execute o aplicativo no dispositivo:
-
No diretĂłrio do projeto, execute o seguinte comando:
npx react-native start
-
Em outro terminal, execute o seguinte comando:
npx react-native run-android
-
Esses passos garantirĂŁo que vocĂŞ possa testar e executar o aplicativo diretamente em seu dispositivo fĂsico.
- Para adicionar uma nova tarefa, digite o texto na caixa de entrada e pressione o botĂŁo "+".
- Para editar uma tarefa existente, toque na tarefa na lista e faça as alterações desejadas.
- Para marcar uma tarefa como concluĂda, toque na tarefa na lista.
- As tarefas sĂŁo salvas localmente e persistem mesmo apĂłs o fechamento do aplicativo.
App.tsx
: Componente principal do aplicativo.components/Tarefa.tsx
: Componente para exibição de uma tarefa.functions/taskFunctions.ts
: Funções utilitárias para adicionar, editar e completar tarefas.services/storageService.ts
: Funções para salvar e carregar tarefas usandoAsyncStorage
.
Se vocĂŞ deseja contribuir para o projeto, sinta-se Ă vontade para enviar um Pull Request. Certifique-se de seguir as diretrizes de estilo e manter o cĂłdigo limpo e bem documentado.
-
Faça um fork do repositório.
-
Crie uma branch para sua feature:
git checkout -b minha-feature
-
Faça as mudanças desejadas e commit:
git commit -am 'Adiciona nova feature'
-
Envie a branch para o repositĂłrio remoto:
git push origin minha-feature
-
Abra um Pull Request.
Para gerar um arquivo .apk executável, você precisa assinar seu APK com uma chave de upload e configurar algumas opções no Gradle:
-
No Windows e Linux:
Na pasta raiz execute o comando:
keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Isso gerará um arquivo
my-upload-key.keystore
. -
No macOS:
Primeiro, encontre o diretĂłrio do JDK com:
/usr/libexec/java_home
Navegue até o diretório e execute:
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Isso gerará o arquivo
my-upload-key.keystore
.Importante: Mantenha sua chave privada segura. Se perder a chave ou ela for comprometida, siga as instruções da documentação do Android para recuperação.
-
Coloque o arquivo
my-upload-key.keystore
na pastaandroid/app
do seu projeto. -
Adicione as variáveis de configuração ao arquivo
gradle.properties
:- No Linux/macOS: Adicione no arquivo
~/.gradle/gradle.properties
. - No Windows: Adicione no arquivo
android/gradle.properties
ou crie um arquivo~/.gradle/gradle.properties
.
Adicione o seguinte conteúdo, substituindo as variáveis com suas informações:
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=*****
- No Linux/macOS: Adicione no arquivo
-
Edite o arquivo
android/app/build.gradle
:Adicione a configuração de assinatura no bloco
android
:android { ... signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }
cd android
./gradlew assembleRelease
Este comando cria um APK de release, que pode ser encontrado em android/app/build/outputs/apk/release/
.
1. Este comando cria um APK de release, que pode ser encontrado em android/app/build/outputs/apk/release/
.
2. Envie o arquivo para o celular via google Drive ou da forma que preferir
This is a sleek and functional task management application, developed with React Native. Through this intuitive app, you can effortlessly add new tasks, edit existing ones, and mark tasks as completed. Additionally, the app ensures that your tasks are saved and loaded locally, providing a seamless and efficient experience.
- Add new tasks.
- Edit existing tasks.
- Mark tasks as completed.
- Store tasks locally using
AsyncStorage
. - User-friendly interface with scroll support and keyboard adjustment.
- React Native: Framework for building mobile apps.
- TypeScript: Superset of JavaScript that adds static typing.
- React Hooks: For state management and side effects.
- AsyncStorage: For local data storage.
- FontAwesome: For interface icons.
Before you start, ensure you have the following installed on your machine:
- Node.js (recommended version: 14.x or later)
- npm (Node.js package manager) or Yarn
- Watchman (for macOS, can be installed via Homebrew)
- React Native CLI (React Native command-line tool)
- Android Emulator or Xcode (for iOS development)
- Android Studio (for Android development)
If you do not have Node.js installed, download and install the recommended version from the official site.
Yarn is an alternative to npm and can be installed globally using npm:
npm install -g yarn
If you are using macOS, install Watchman using Homebrew:
brew install watchman
Install the React Native command-line tool globally:
npm install -g react-native-cli
or
yarn global add react-native-cli
-
Download and install Android Studio.
-
During installation, make sure to include the following options in the Android Studio installer:
- Android SDK
- Android SDK Platform
- Android Virtual Device
-
Open Android Studio, go to
Settings
>Appearance & Behavior
>System Settings
>Android SDK
. -
In
SDK Platforms
, select the latest version of Android (recommended: Android 10.0). -
In
SDK Tools
, ensure the following options are checked:- Android SDK Build-Tools
- Android Emulator
- Android SDK Platform-Tools
- Android SDK Tools
-
Set up an Android Virtual Device (AVD) in
Settings
>System Settings
>Android SDK
>SDK Tools
>Android Virtual Device
.
Follow the instructions in the React Native environment setup guide to set up your environment for iOS or Android development.
Clone the project repository to your local machine:
git clone https://github.com/user/repository-name.git
Access the directory where the project was cloned:
cd repository-name
Install all the necessary dependencies for the project. You can use npm or Yarn:
npm install
or
yarn install
Then:
npm install @react-native-async-storage/async-storage
npm install @fortawesome/react-native-fontawesome @fortawesome/fontawesome-svg-core react-native-svg
npm install @fortawesome/free-solid-svg-icons
Make sure you have Xcode installed and configured properly.
-
Navigate to the
ios
directory:cd ios
-
Install CocoaPods dependencies:
pod install
-
Go back to the main directory:
cd ..
-
Run the app on the iOS simulator:
npx react-native run-ios
-
Connect the iOS device to your computer with a USB cable.
-
Open Xcode and open the iOS project:
- Navigate to the
ios
directory of the project and open the.xcworkspace
file in Xcode.
- Navigate to the
-
Select the device in the list of devices in Xcode:
- In Xcode, select the connected physical device from the device list at the top of the screen.
-
Ensure the app is set up for device deployment:
- In
Signing & Capabilities
, configure code signing if needed.
- In
-
Run the app on the device:
- Click the
Run
button (play icon) in Xcode to build and install the app on the physical device.
- Click the
Ensure you have an Android emulator set up or a physical device connected.
-
Run the app on the Android emulator or physical device:
npx react-native run-android
-
Enable developer mode and USB debugging on your Android device:
- Go to
Settings
>About phone
. - Tap
Build number
several times until you see a message indicating that you are now a developer. - Go back to
Settings
and accessDeveloper options
. - Enable
USB debugging
.
- Go to
-
Connect the device to your computer with a USB cable.
-
Ensure the device is visible to Android Debug Bridge (ADB):
-
Run the following command in the terminal to check if the device is listed:
adb devices
-
If the device is listed, you are ready to proceed. If not, check the USB connection and debugging permissions.
-
-
Run the app on the device:
-
In the project directory, run the following command:
npx react-native start
-
In another terminal, run:
npx react-native run-android
-
These steps will ensure you can test and run the app directly on your physical device.
- To add a new task, type the text in the input box and press the "+" button.
- To edit an existing task, tap on the task in the list and make the desired changes.
- To mark a task as complete, tap on the task in the list.
- Tasks are saved locally and persist even after the app is closed.
App.tsx
: Main component of the app.components/Task.tsx
: Component for displaying a task.functions/taskFunctions.ts
: Utility functions for adding, editing, and completing tasks.services/storageService.ts
: Functions for saving and loading tasks usingAsyncStorage
.
If you would like to contribute to the project, feel free to submit a Pull Request. Be sure to follow style guidelines and keep the code clean and well-documented.
-
Fork the repository.
-
Create a branch for your feature:
git checkout -b my-feature
-
Make your changes and commit:
git commit -am 'Add new feature'
-
Push the branch to the remote repository:
git push origin my-feature
-
Open a Pull Request.
To generate an executable .apk file, you need to sign your APK with an upload key and configure some options in Gradle:
-
On Windows and Linux:
In the root folder, run:
keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
This will generate a
my-upload-key.keystore
file. -
On macOS:
First, locate the JDK directory with:
/usr/libexec/java_home
Navigate to the directory and run:
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
This will generate the
my-upload-key.keystore
file.Important: Keep your private key secure. If you lose the key or it is compromised, follow the Android documentation for recovery.
-
Place the
my-upload-key.keystore
file in theandroid/app
folder of your project. -
Add the Gradle configuration variables to the
gradle.properties
file:- On Linux/macOS: Add to
~/.gradle/gradle.properties
. - On Windows: Add to
android/gradle.properties
or create a~/.gradle/gradle.properties
file. Add the following content, replacing the placeholders with your information:
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=*****
- On Linux/macOS: Add to
-
Edit the
android/app/build.gradle
file:Add the signing configuration to the
android
block:android { ... signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } }
To generate the APK file, run the following commands in the terminal:
cd android
./gradlew assembleRelease
This command creates a release APK, which can be found in android/app/build/outputs/apk/release/
.
- The APK file will be located in
android/app/build/outputs/apk/release/
. - Transfer the APK file to your device via Google Drive or any other preferred method.