Skip to content

Latest commit

 

History

History
233 lines (171 loc) · 8.46 KB

PROGRESS.md

File metadata and controls

233 lines (171 loc) · 8.46 KB

Progress

Sort of a roadmap

2020-11-05

I am failing to get the right topics according to currently logged in user.

Observations:

  • jwt savec in http-cookie might not be the right thing to do
  • btw: the http-cookie fails to persist on refresh
  • might need to implement a logout to make the process clearer
  • unsure about which "jwt" is sent to server with each requests (could be due to http cookie). Seems I always request the server from the same user.

What I shoudl probably do:

  • Not JWT http-cookie storage anymore (server only sends token via json response)
  • Client stores the JWT in memory
  • The refreshToken can be stored in http cookie
  • In order to call refreshToken I need to provide userId, check if this is the right thing or if I could avoid that (removing the need of userId)
  • On refresh: try to get a new token with refresh token, if not working go to login
  • If successful: store the jwt

2020-11-07

Login is now pretty well in place. Now is the time to improve the topic experience

  • Add sorting and filtering options in topic requests
  • Implement sort by last update and filter by status on topics view
  • Try to watch the topics in the topics view so that when a topic is created or edited it is refreshed on the page (tried to used watch without much success yet, try again another time)
  • Make Open topic work
  • Make the edit topic work
  • Make change topic status work
  • Make delete topic status work
  • Try the imageService for topic images
  • Fix implementation of croppie in avatar and topic-form (fixed adding croppie css)
  • Display preview image in topic preview and topic detail
  • Create a Value Converter to "select" the best image from the image array when displaying an image (ex: | getFileId:400)
  • Fix getUser in mini-user component
  • Implement function API tests for topics filtering and sorting

2020-11-15

  • Logout
  • Create friendship API
  • Manage friendships API
  • Add tests for friendships
  • Add test for listing my friendships, including sort and filters
  • Add test that someone "else" tries to remove the friendship of someone else (must fail)
  • Add test including the new "friend" fieldResolver

21.11.2020 - Crypting

  • Crypt Messages before creating or after editing
  • Have a simple thing in place to ensure that the topics in the view are decrypted easily (should be pretty simple with the "myShare" prop
  • Only request privateKey if not in memory

22.11.2020 - Branding

  • Work on a name (Sunago)
  • Web font: GFS Neohellenic

23.11.2020 - Overall design

  • Simplify overall design (avoid complex thing with headbar and bottombar for now, make it white if possible)
  • Have the logo (sunago) always in main screen top left
  • Display tabs below (like Twitter)  

24.11.2020 - Update packages

  • Identify issue with dirty-checker when updating to latest Aurelia
  • Open up an issue if needed, reach for help
  • Identify issue with Safari and latest update of fast (fast-provider)
  • Open up an issue if needed, reach for help

26.11.2020 - Several things

  • Migrate to sunago.app
  • Start the conversation page
  • Deploy so we can use it on mobile device

## 27.11.2020 - Messages

  • Messages view

## 28.11.2020 - Messages

  • Fix refreshToken issue (fixed by not sending the jwt with the refreshToken mutation)
  • Fix login button / form / enter (seem ok, to be confirmed)
  • Check how the "return" button on login form could be called something else (not 100% so far)
  • Make preview work with the right datas (except prayer)
  • Memorize previous username for fast login

## 29.11.2020 Prayer Model

  • Define prayer model
  • Display prayers inside conversation
  • Add tests for prayers

## 01.12.2020 Praying View (playlist)

  • Playlist with nice navigation (the cool thing from previous app was that when you mention that you pray you automatically get the next topic)

## 02.12.2020 Server cache with Redis

## 05.12.2020

  • Upgrade to latest FAST
  • Mark prayer as answered
  • Nicer head buttons
  • If topic is archived, only keep those where I'm owner
  • Create a nice flag for answered topics (so they can be clearly identified)
  • Nicer topic form
  • Work on Profile page so we can edit current profile avatar, name

## 07.12.2020 - Apollo Cache improvements

  • Do some research on possible cache patterns
  • Save edited topic when submitting updates

## 16.12.2020 - Go for an app ready to be tried

  • Crypt messages
  • Import data
  • Import images

## 17.12.2020 - Prepare for production

  • Test Jelastic deployment
  • Send code by SMS for registration
  • Script to start node automatically in NodeJS container
  • Import data in production

## 25.12.2020 - Use Page Visibility API

  • Check login state when back to foreground
  • Try to fetch topics again when back to foreground
  • Improve webpack config for better caching and PWA update

## 26.12.2020 - Prod env

  • Update prod scripts for Jelastic
  • Restore the storage container in Jelastic env

## 27.12.2020 - Many fixes

  • Upgrade Aurelia to last version
  • Fix redis issues
  • Refactoring of CryptingService, with more precise crypting/decrypting and detection of crypted values
  • Scroll to bottom when opening a conversation
  • Fetch new data silently when possible, using apollo cache otherwise
  • Nl2br in messages
  • Set cache-control for images so that the browser can safely cache them for long time

## 29.12.2020 - Viewed by

  • Add a "viewedBy" property to topic, messages and prayers model so we can add personalised notifications based on who viewed what

## 30.12.2020 - Prod client

  • Fix cookie (same-site not strict)
  • Fix image service (mode not production in webpack)

## 31.12.2020 - Prod client

  • Add a badge in "list" and "settings" screen for nb of updates and nb of friends requests
  • Fix friendship list cache and cache clearing
  • Backups scripts for DB and files
  • Fixes for better UX
  • Version number on login screen

## Early January

  • Activity feed
  • Cordova App (TestFlight)
  • Start pray from messages view must start with current topic

## 9.1.2021 - Improve frienship flow

  • Add little helps along the process
  • Improve wording
  • Only display notification for friends requests, not friends waiting for reply
  • Add friendships in activity
  • Search for friends by phone number
  • When removing a friendship: also remove all shares from (in both directions)

## 11.1.2021 - Improve UX with help screens and illustrations

  • Ensure the screen looks amazing even without content (after first registration)
  • Help tooltips

20.1.2021 - Internationalization

  • Translation i18n

30.1.2021 - Internationalization

  • Web client ready in english

1.2.2021 - Many things

  • Add a client version checker (for API) in order to inform user of out-of date client version and require update
  • Change password / no password, only SMS
  • Ensure a nice register process
  • Diminish the number of refresh tokens available per user
  • Add a version from GIT in API ? Or use the build version ?
  • Improve Apple / Demo user account with new mobile only system
  • Stack AppNotifications (so we can see several)

5.2.2021 - Many things

  • Solidify notification start and settings
  • Solid testing of notifications
  • Translation: external files and notification translation

Next

  • Create more realistic tests scenario including user registration and increased users friendships, refresh token and admin accounts

  • Create a way to have a realistic staging

  • Create SMS API account

  • Ackknoledgment (incl. illustrations)

  • Backups every night

  • Avoid REDIS to crash

  • Work on the TODO's

  • Optimize bundles with code splitting (https://webpack.js.org/guides/code-splitting/)

  • Create tests with image upload (if not yet)

  • Allow owner to give "owner" role on their topics

  • Cache images

  • Fix class-validator warning, check if I need it for the project

Crypting compliance