Satisfied Requirements
Last updated
Last updated
Jet satisfies about 90 functional and non-functional requirements. That's about 90 tickets you don't have to worry about.
See it live: Jet is live on https://jet-tau.vercel.app, so you can validate these requirements yourself, on a device of your choice.
As a user, I want the app to be navigable by a keyboard
As a user, I want the app to be navigable by a screen reader
As a user, I want to change the language of the app
As a user, I want the app to load in the language I selected previously
As a user, I want to change the theme of the app
As a user, I want the app to load in the theme I selected previously
As a user, I want the app to follow my OS' theme, until I set otherwise
As a user, I want to add the app to my device as a standalone PWA
As an Android user, I want a maskable icon for the PWA
As an iOS user, I want an opaque icon for the PWA
As a user, I want the PWA to utilise the entire viewport of my device (i.e. wrap around notches)
As a user, I want to reload the PWA
As a user, I want to reset the PWA
As a user, I want the PWA to work even if I'm offline
As a user, I want to navigate to Home on navigating to an invalid route
As a user, I want to navigate to Home on clicking the logo
As a user, I want to see a bottom navigation instead of side navigation on smaller devices
As an iOS user, I want to tap the top of the screen to scroll to top
As a user, I want zoom to be enabled in the browser but disabled when I add it as a PWA
As a user, I want the app and the PWA to handle notches in any orientation
As a user, I want to see the version number of the app
As a user, I want the scroll position restored when I go back to a page
As a user, I want to scroll to an element if its ID is specified in the link
As a user, I want the app to automatically scroll to a section if the link contains its ID
As a user, I want a uniform timeout for all alerts
As a user, I want a uniform delay in the hover tooltips, so they aren't intrusive
As a user, if a route is protected, I want to be taken to login automatically
As a user, I want to continue on the same route after logging in
As a user, I want to see a Logout button if I'm logged in and vice-versa
As a developer, I want to use different fonts with different languages, so a font that supports the language's characters can be used
As a developer, I want an interactive commit process, so writing acceptable commit messages is easy
As a developer, I want automatic changelog generation, to minimise work
As a developer, I want automatic release PR creation with updated version in package.json
, to minimise work
As a developer, I want automatic commit message linting, to minimise work
As a developer, I want automatic formatting of staged changes when I commit, to minimise work
As a developer, I want automatic activation of hooks on installing the dependencies, to run other automations
As a developer, I want a script to determine the test coverage, so a threshold can be maintained
As a developer, I want a shared IDE configuration, so collaboration with others is easy
As a developer, I want to reuse Angular Material component and typography styles to reduce bloat
As a developer, I want automatic injection of environment variables into the app during build time
As a developer, I want a service to manage alerts, so any element can send alerts
As a developer, I want a service to hide or show the app progress bar, so any element can indicate progress
As a developer, I want a service to change the toolbar title, so any element can update it
As a developer, I want a service to manage authentication state
As a developer, I want to update the page meta dynamically
As a developer, I want to version the app using semantic versioning, so others can depend on it confidently
As a developer, I want a robots.txt
file, so it can be used by crawlers
As a developer, I want a sitemap.xml
file, so it can be used by crawlers
As a developer, I want to correctly set the lang
attribute of the html
element, so the browser can show relevant tools to work with that language
As a developer, I want users to see a title and description when they share a link to the app, to give recipients some context
As a user, I want to see a preview image when I share a link to the app, to improve the link's visibility
As a developer, I want strict TSConfig Type Checking rules, so the code is uniform and runtime errors are minimised
As a developer, I want imports using TSConfig Paths, so refactoring is easy
As a developer, I want translations to be sorted and logically grouped, so maintaining them is easy
As a developer, I want a script to detect missing and unused translation keys, so translations remain up to date with the code
As a developer, I to lint commit messages, so they are descriptive and uniform
As a developer, I want to attribute commit messages to features, so generating changelog is easy
As a developer, I want the code to be formatted in a standard way, to improve readability
As a developer, I want a script to lint the code, so runtime errors are minimised
As a developer, I want a script to update all dependencies, so updates can be integrated regularly
As a developer, I want strict lint rules, so the code is uniform and runtime errors are minimised
As a developer, I want to log all class initialisations during development, so I can trace issues easily
As a developer, I want a typed enum to manage all storage keys, so client storage is manageable
As a developer, I want issues to be created in a certain format, so collaboration is easy
As a developer, I want bundle size information on every PR, so managing it is possible
As a developer, I want strings to be isolated from the code, so adding a new translation is easy
As a developer, I want to pass variables to translations, so it can be used as per the language's grammar
As a developer, I want support for multiple fonts, so the appropriate font for a language can be loaded
As a developer, I want support for RTL layout, RTL languages can be supported
As a developer, I want environment files to keep keys and configuration separate from the app
As a developer, I want only necessary styles to be generated, so there are no unused styles sent to the user
As a developer, I want to pre-connect to certain domains to download important assets faster
As a developer, I don't want to listen to viewport and settings changes to minimise listeners
As a developer, I want minimum custom CSS, so the unused CSS is not shipped to users
As a developer, I want to cache all assets including fonts and translations, so they are available even when the app is offline
As a developer, I want to load the default translation if the selected translation is unavailable
As a developer, I want to load the translation keys if the default translation is unavailable
As a developer, I want to safely set and get items from storage, so the app doesn't crash during unexpected data issues
As a developer, I want to set CSP (Content Security Policy) rules, so only explicitly allowed elements are loaded by the browser
As a developer, I want to prevent any handled errors from showing in production console, so users aren't readily able to identify and abuse errors
As a developer, I want to protect certain routes behind a login
As a developer, I want mocks of all services, so I can test other elements in isolation
As a developer, I want feature-flag tokens, so I can override them during testing
As a developer, I want to log all class initialisations during development, so I can detect potential problems and memory leaks
As a developer, I want logs of different priorities logged differently, so I can adjust the console filters as per my needs