covidtrackerfr / vitemadose-ios Goto Github PK
View Code? Open in Web Editor NEWApplication iOS de l'outil ViteMaDose
License: GNU General Public License v3.0
Application iOS de l'outil ViteMaDose
License: GNU General Public License v3.0
In the RADME, a link to the Mattermost team exists. However, it only displays a forms to connect to the team, and not to create a new account on it.
@victor-sarda @rozierguillaume How can developers join this place?
Now that we have a separate project for dev on Firebase, we need to add it to our debug scheme to avoid sending debug crashes/analytics on prod
Without changing lots of code, performances (runtime, compilation), security and quality can be improved with an internal Swift package.
It can also helps to easily share code with potential extensions.
Right now the home percentage cell doesn't check if the total amount of centres available is higher than 0. This can result into a crash (divide by zero)
var pourcentage: Int? {
// Prevent divide by zero crash
guard total > 0 else {
return nil
}
return (disponibles * 100) / total
}
Percentage value would become optional so fallback text could be "-" (it should never happen)
Linked to #41
Should be pretty easy, all the localized ressources are already there.
Objectif : être cohérent avec la version web et éviter les ambiguïtés.
A different way to handle the issue #76. Because it is preferable to stick with SFSafariWebView instead of opening Safari. Cc @nathanfallet.
UIApplication.shared.open(url, options: [.universalLinksOnly: true]) { (success) in
if !success {
// not a universal link or app not installed, opening in Safari Web View instead
let safariViewController = SFSafariViewController(url: url, configuration: config)
safariViewController.present(vc, animated: true)
}
}
Source: https://recoursive.com/2019/02/22/preflight_universal_links/
For some reason the project scheme is missing on develop.
This needs to be fixed before merging more PRs!
We'll need to refactor the current API Service and/or use a library if needed.
The current one could benefit some improvements, especially around the error handling part.
Discuss about it with backend team.
Ideas:
Anything else?
Using app group (suiteName), you can share settings with extensions (Messages, Widget or anything else).
Add a Settings view, with a ⚙️ icon to open it next to the logo on the Home view.
This Settings screen should contain:
Apple will no longer allow apps compiled for iOS 13 starting next week, it is urgent to migrate to iOS 14!
iOS 13 will still be supported, but the app will be compiled for iOS 14.
We need to add unit tests before releasing the next version.
ACs:
Write a test suite.
Add widgets, to:
It's a simple fix: it needs to use the FR region like we do for the appointments hours
So far only one crash was reported on Crashlytics and should be fixed in the next version.
It seems to be an issue with the home heading section reload. From what I see, conforming sections to Identifiable
should fix it.
Fatal Exception: NSInternalInconsistencyException
Section identifier was not found. You can verify the section exists by calling the indexOfSectionIdentifier API (which has O(1) performance)
HomeViewController.reloadHeadingSection(with:)
Here is what the frontend provides in term of sorting options:
We can add a UISegmentedControl under Liste des centres
and before the first cell to allow the user to choose how to sort the list.
Describe the bug
When Voice Over is enabled, some numbers are not well vocalized: each digit is vocalized, but not the whole number.
To Reproduce
Expected behavior
The number must be vocalized like 91 014
Smartphone (please complete the following information):
Additional context
Woops sorry, didn't find this bug!
Describe the bug
Currently on the app, "MeSoigner" logo doesn't appear because the asset name doesn't match the parsed value for plateforme
. It also does not show up on the home page because the xib view is using the wrong name.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Logo is displayed
Screenshots
Smartphone:
Opening the URL directly here would allow to open the app of the website if installed.
Also, I thing it's way more comfortable to browse it in safari than in a view controller in the app.
After #42, we can then easily replace occurrences of Centre
by Lieu
in the Localizable.strings
file.
Linked to CovidTrackerFr/vitemadose-front#18 (follow what was done on frontend and android)
Spacing should be divided by two
We should list somewhere in the application the list of dependencies in use inside this iOS app.
Thus depending to the component, the project will be more compliant.
Moreover, listing dependencies is clear fo users and cool for developers behind these tools.
One tool can be used: [LicensePlist)(https://github.com/mono0926/LicensePlist).
It will dive in the Xcode project magic files, and produce a global file will all direct and indirect third-party components.
Then the output should be place in the Settings.bundle of the project.
First, according to the tool README, install in your local environment the tool:
brew install mono0926/license-plist/license-plist
Then run the tool:
license-plist
A folder with PLIST for each component will be generated (com.mono0926.LicensePlist), and also an index file (com.mono0926.LicensePlist.plist). These elements can be placed in the Settings.bundle folder.
A run script build phase can be added so as to update the items.
In addition, the tools we directly use in the project, i.e. referenced in our level through CocoaPods and Swift Package Manager can be listed in the repository.
We will add a new platform on back-end, can you please add the support for it?
"plateforme": "AvecMonDoc"
https://patient.avecmondoc.com/assets/images/fronts/logo-AMD.png
A bookmark/favorite system containing:
As a user, when I change my device accessibility setting to increase or lower the font sizes, I want to have the app font size changed, so that I can easily read the content of the app.
Describe the bug
When the accessibilty feature is enabled, with very big text sizes, the "mes centres suivi" cell has not a bigger text.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Text of the cell must have a bigger size.
Screenshots
Smartphone (please complete the following information):
Additional context
Woops sorry, didn't find this bug!
We are going tol add a new platform on back-end, can you please add the support for it?
"plateforme": "Clikodoc"
Tapping on a centre address makes the app crash in iPad.
It's a simple fix: the action sheet needs a popoverPresentationController?.sourceView
Version: 1.0.0-beta
Needle should be white on the app icon
As the front implemented it, we need to be able to search a dose by City (more precise than by Department)
Useful links:
A script to automatically set the build number was introduced in the last version but doesn’t seem to work right now.
Take all the strings of the app, and put them together in a Localizable.strings
file.
Then create an enum (or struct with constants) to use them.
struct LocalizedString {
static let example = "example".localized()
// ...
}
(This is an example where example
is the string id in the Localizable.strings
file)
It could be a great improvement to replace storyboard files by programmatic user interface, mainly about performances.
Some files are very simple (like the home view which is a navigation controller containing a table view controller), and the loading of those storyboard files takes a lot of time compared of what it would be using programmatic user interface.
Currently the navigation can be improved for Voice Over users, mainly on search fields, buttons and search results.
In fact, hours or dates are not well vocalized.
Some items should be vocalized, and others should be not.
Providing Voice Over-ready UI improves navigation for disabled users.
Time is not correct when a center is from mapharma
.
{
"departement": "49",
"nom": "Pharmacie Des Halles",
"url": "https://mapharma.net/49100-7?c=237&l=0",
"location": {
"longitude": -0.554808,
"latitude": 47.47116,
"city": "ANGERS"
},
"metadata": {
"address": "78 RUE BAUDRIERE, 49100 ANGERS",
"business_hours": null
},
"prochain_rdv": "2021-05-10T10:30:00",
"plateforme": "Mapharma",
"type": "drugstore",
"appointment_count": 19,
"internal_id": "mapharma2d373f633d323337266c3d3",
"vaccine_type": [
"AstraZeneca"
],
"appointment_by_phone_only": false,
"erreur": null,
"last_scan_with_availabilities": "2021-05-08T17:17:29.605276+02:00",
"appointment_schedules": {
"1_days": 0,
"2_days": 0,
"7_days": 19,
"28_days": 19,
"49_days": 19
},
"gid": "2d373f633d323337266c3d3"
}
Other source example:
{
"departement": "49",
"nom": "Centre de vaccination Covid-19 - Ville de Saumur",
"url": "https://www.doctolib.fr/centre-de-sante/saumur/centre-de-vaccination-covid-19-ville-de-saumur",
"location": {
"longitude": -0.094039,
"latitude": 47.267295,
"city": "Saumur"
},
"metadata": {
"address": "Avenue du Breil, 49400 Saumur",
"phone_number": "+33241831288",
"business_hours": {
"lundi": "08:30-12:00, 13:30-17:00",
"mardi": "08:30-12:00, 13:30-17:00",
"mercredi": "08:30-12:00, 13:30-17:00",
"jeudi": "08:30-12:00, 13:30-17:00",
"vendredi": "08:30-12:00, 13:30-17:00",
"samedi": null,
"dimanche": null
}
},
"prochain_rdv": "2021-05-11T10:10:00.000+02:00",
"plateforme": "Doctolib",
"type": "vaccination-center",
"appointment_count": 1129,
"internal_id": "doctolib242320",
"vaccine_type": [
"Pfizer-BioNTech",
"Moderna"
],
"appointment_by_phone_only": false,
"erreur": null,
"last_scan_with_availabilities": "2021-05-08T17:17:29.613270+02:00",
"appointment_schedules": {
"7_days": 33,
"28_days": 658,
"49_days": 1129,
"1_days": 0,
"2_days": 0
},
"gid": "d242320"
}
Update app name, description and keywords.
A simple table view that shows all contributors of VMD. A design similar to CountiesSelectionViewController
.
Linked with CovidTrackerFr/vitemadose#228
It was requested that we add a feature to display a maintenance page if needed (in case we ever have issues with servers / data). The page would show up based on a feature flag on Firebase Remote Config.
I started working on this already and will push changes this evening.
Write some tests and add a CI to check that everything builds for each commit and each PR.
There is a know issue when using Firebase with SPM.
It makes the archive/upload process fail but there's a workaround that we already tested and seems to be working:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.