Browse Source

docs(secure-notes): fix audit and readme

pull/2048/head
miguel 1 year ago committed by MSilva95
parent
commit
d4c9d49dd8
  1. 59
      subjects/mobile-dev/secure-notes/README.md
  2. 22
      subjects/mobile-dev/secure-notes/audit/README.md

59
subjects/mobile-dev/secure-notes/README.md

@ -1,44 +1,35 @@
# Secure Notes
## Secure Notes
### Introduction
Secure Notes is an app that allows you to create, modify, and delete notes, with an emphasis on security. Only the app's user should be able to access the notes, and only after biometric authentication. The app needs to use the `sqflite` package to store notes in a database.
The app where you can add your own notes. It should behave as normal notes app where you can add, modify, remove old notes, but the app should be secure. Being secure means that the notes should only be accessible through the app, and only after biometric authentication.
### Instructions
Packages: _sqflite_ package.
The Secure Notes app has several objectives, including:
### Objective
- Working with text fields and the keyboard
- Allowing users to edit, delete, and reorder notes
- Implementing biometric authentication
- Localizing the application for international use
- Work with textfields
- Work with keyboard
- Editing
- Deleting
- Reordering
### Main Screen
### First Part
- Main Screen displayd list of notes with title, and description.
- Implement ReordableListView to reorder items in list
- Add ability to delete item by swiping
- Add "add" button, which opens screen with 3 text fields
The main screen of the app displays a list of notes, including the note's title and description. Users can reorder notes using the `ReorderableListView` widget, `delete` notes by swiping, and `add` notes using the "add" button which opens a screen with at least 2 text fields.
<img src="./resources/secureNotes.01.png?raw=true" style = "width: 210px !important; height: 420px !important;"/>
<img src="./resources/secureNotes.02.png?raw=true" style = "width: 210px !important; height: 420px !important;"/>
### Second Part
### Add Note
- Screen to add new notes.
- If any of the fields is empty, show error.
This screen allows users to create new notes by entering information into the text fields. If any of the fields are empty, an error message is displayed.
### Third Part
### Edit Note
- Edit Screen.
- Show text in textfields to edit.
This screen allows users to modify existing notes by displaying the note's text in the corresponding text fields.
### Fourth Part
### Data Management
Add sqflite package, so your notes will be saved, even when app reloads.
When app loads it should get notes from database.
The Secure Notes app must use the `sqflite` package to store notes in a database. The Database class should also have `CRUD` methods, including `getAllNotes`, `deleteAllNotes`, `addNote`, `deleteNote`, and `updateNote`. Notes are saved in the database and are accessible even if the app is closed and reopened.
```jsx
class Database {
@ -53,20 +44,12 @@ Database _db;
}
```
Database class should also have CRUD methods like getAllNotes, deleteAllNotes, addNote, deleteNote, updateNote.
- getAllNotes
- deleteAllNotes
- addNote
- deleteNote
- updateNote
### Fifth Part
### Authentication
Make a biometric authentication. Make sure that notes are not accessible without firstly authenticating user.
The app must contain a biometric authentication before users can access their notes. You may use the `local_auth` package to authenticate the user.
- Note: you may use local_auth
### Localization
### Sixth Part
The app can be localized for use in multiple countries and languages. Localizing the app allows it to reach a wider audience and make it easier for non-native speakers to use.
[Localize](https://flutter.dev/docs/development/accessibility-and-localization/internationalization) your apllication.
To localize the app, follow the instructions provided by [Flutter](https://docs.flutter.dev/accessibility-and-localization/internationalization).

22
subjects/mobile-dev/secure-notes/audit/README.md

@ -1,23 +1,23 @@
#### Functional
> In order to run and hot reload app either on emulator or device, follow the [instructions](https://docs.flutter.dev/get-started/test-drive?tab=androidstudio#run-the-app)
###### Does the app run without any crashes?
###### Can you add a new note?
###### Does the app include valid biometric authentication, either via fingerprint or camera?
###### Can you confirm that only the app's user are able to access the notes?
###### Can you delete a note?
###### Is it possible to add a new note through the app?
###### Can you delete all notes?
###### Can you delete a note from the app?
###### Can you edit a note?
###### Is it possible to delete all the notes?
###### Is the note saved after editing?
###### Is it possible to edit an existing note in the app?
###### Does the app show error when any field is empty?
###### Is the note saved and updated properly after editing it in the app?
###### Do you see all notes after closing and opening app back?
###### Does the app display an error message if any required field is left empty when adding or editing a note?
###### Add a note, save it, close the app, open it, change the same note, close app, open app. Do you see updated value?
###### Do all notes remain visible after closing and reopening the app?
###### Does app has valid biometrical authentication? It may be either fingerprint or via camera.
###### If you add a note, save it, close the app, reopen it, edit the same note, and then close and reopen the app again, does the updated note value persist?

Loading…
Cancel
Save