# Assignment 2021 - 2022
For the Cordova course you individually program an Android App. You may choose the subject yourself.
Make sure you choose a subject that makes sense as an application on an Android smartphone and/or tablet.
Use your imagination and choose a subject that allows you to be creative.
So preferably not a program with a lot of data input, because mobile devices are not suitable for that, but a program that allows you to fully use the functionalities of your smartphone or tablet.
Your project must also meet some minimum requirements.
# Minimum requirements
# 1. User Interface
Design an SPA-app with at least four tabs.
- One of those tabs is an info screen. This screen will display your personal information (name, email, cell phone, etc.) and some additional information about the app.
- Provide an SMS and TEL link to your mobile number.
- Of course your app has a custom icon.
- Also create an attractive user interface.
You can write the CSS yourself, or you can use an existing framework (Materialize, Bootstrap, Framework7, Kendo UI, …). - For the menu you may choose between a sideNav or a toolbar with icons.
# 2. Cordova plug-in
- Use at least one Cordova plug-in (≠ jQuery plug-in) that we have NOT seen in class and that requires more than 3 lines of code.
- So with below plug-ins you will definitely NOT earn any points:
# 3. Data exchange with JSON (AJAX)
It is also very important that your app exchanges information/data.
- For the APPAI students and TW students: with an online API or via your own database.
- For the IoT students: with an IoT device (Raspberry Pi, Arduino, ...).
# 4. Local storage
Besides fetching data, your app also needs to store data locally.
For this you should use local storage because it is supported on almost all platforms (see Todo app).
# 5. Publish application
Host on sinners, Netlify or elsewhere an attractive web page in which you offer your APK file (app-debug.apk).
Make sure that the page displays similar information as the Google Play Store pages.
So you show on your hosting at least:
- The name of the app and of the designer.
- Some screenshots.
A useful tool for this is https://vysor.io/. - A short description of the app's functionalities.
- A link or QR code to the APK file.
You can create a QR code via: https://www.qr-code-generator.com/.
# Assessment
During assessment of your program, attention will be paid to the originality of your subject, the complexity of your program, the size of your project, the readability/maintainability of your program code, the stability of your program, the user-friendliness, the design of your UI, whether or not it meets the minimum requirements, ...
Think about how you can incorporate the online sample code into your project.
Do not copy this code blindly! Optimize this code for your project and translate it to jQuery and work according to the Revealing module pattern.
- So don't use:
document.getElementById("abc").xxxx
(= default JavaScript). - But use:
$("#abc").yyyy
(= jQuery equivalent of previous line).
SCORE
- During the course of this class, there are three deadlines by which you must submit information related to your app to your instructor (10%).
- For a fully working project that meets the minimum requirements (SPA, Cordova plug-in, data exchange and local storage), you earn 30% of the points.
- The other 60% will be awarded based on originality, the complexity/size of your project, optimization,
- user friendliness, UI design, structure and readability/maintainability of your code.
# Deadlines
# 1. GitHub repo
Update GitHub authentication to use a token!
- Support for username/password authentication on GitHub was removed on 13 August 2021.
You have to use a personal access token instead. - Follow the next steps to create and register your token.
DEADLINE
- 2 APPAI, 2 ACS, 3 IoT: Fri 1 Oct 2021 at 23:59
- 2 WT: Fri 18 Feb 2022 at 23:59
You will be assigned a starting repo on GitHub during class by your instructor.
Just like last school year, work exclusively in this repo!
- Click on the repo link (see Canvas).
- Select your name from the list that pops up.
- The starting repo (https://github.com/itfactory-tm/2021_2022_[class]_Cordova-[githubname]) will be created.
- Open git-bash in your Cordova class folder and clone the repo.(You may rename the folder to, e.g., project_cordova.)
$ git clone https://github.com/itfactory-tm/2021_2022_[class]_Cordova-[githubnaam]
1 - Open project_cordova in PhpStorm.
- Open the terminal of PhpStorm and install the node modules.
$ npm install
1 - Install all cordova dependent directories.
$ cordova platform add browser android $ phonegap serve
1
2 - Rename the Word document (template_cordova.docx) in your repo to Name_FirstName_class_group.docx, fill in all the details (project title, name, ...) and add a picture of yourself.
- Complete the data in README.md (name, class, email, student number).
- Push the changes to your repo.
$ git add . $ git commit -m "Update README.md" $ git push
1
2
3
4
# 2. Brief description of the app.
DEADLINE
- 2 APPAI, 2 ACS, 3 IoT: Fri 8 Oct 2021 at 23:59
- 2 WT: Sun 27 Feb 2022 at 23:59
- In the Word document and in README.md, briefly (approximately 10 lines) describe the app you will be working on.
- Include a photo of yourself in both documents.
- Upload only the Word document to Canvas.
- Push your repo to GitHub.
- During one of the next classes, we will go over the document and check the feasibility.
# 3. Screenshots + Cordova plug-ins
DEADLINE
- 2 APPAI, 2 ACS, 3 IoT: Fri 5 Nov 2021 at 23:59
- 2 WT: Fri 1 Apr 2022 at 23:59
- If required, update the description.
- In the Word document and in README.md, make a list of all Cordova plug-ins that are incorporated in your project.
- For each plug-in, write down the name and briefly describe how you will be using it.
- Take a screenshot of each tab in your app.
- You can take a screenshot from Chrome (via chrome://inspect/#devices) or from the free version of Vysor.
- Upload only the Word document to Canvas.
- Push your repo to GitHub.
# 4. Submit final version.
DEADLINE
- 2 APPAI, 2 ACS, 3 IoT: Sun 21 Nov 2021 at 23:59
- 2 WT: Mon 18 Apr 2022 at 23:59
- In the Word document and in README.md add the URL where you can download the application (the apk file) (see publish info application).
- Create one zip file (Name_First_class_group.zip) containing ONLY the files/folders resources, www, config.xml, het Word-document, package.json en README.md.
DO NOT zip the remaining files/folders.
- Upload the zip file to Canvas.
- Push your repo to GitHub.
# Oral exam
ORAL EXAM
- 2 APPAI, 2 ACS, 3 IoT: November - December
- 2 WT: April - May
- Make sure the following is in place before the start of the exam:
- On your laptop, open everything you need (editor, emulator, vysor...) to view the source code and to show the functionality of your app.
- You may illustrate the functionality with a video taken beforehand if you wish.
# Second chance exam
- For the Cordova re-examination, you will continue to work on your project from the first semester and make sure that all the requirements are incorporated.
(If you are not satisfied with your previous project, you may also create something completely new).
# Submit final version
DEADLINE
- 2 APPAI, 2 ACS, 3 IoT: Mon 15 Aug 2022 23:59
- 2 WT: Mon 15 Aug 2022 23:59
- Enter in the Word document and in README.md the URL where you can download the application (the apk file) (see publish info application).
- Create one zip file (Name_First_class_group.zip) containing ONLY the files/folders resources, www, config.xml, het Word-document, package.json en README.md.
DO NOT zip the remaining files/folders.
- Upload the zip file to Canvas.
- Push your repo to GitHub.
# Make sure the following is in place before the start of the exam:
- On your laptop, open everything you need (editor, emulator, vysor...) to view the source code and to show the functionality of your app.
- You may illustrate the functionality with a video taken beforehand if you wish.