- Install nodejs
- Clone repo:
git clone https://github.com/TPISLO/idu-mobile.git && cd idu-mobile
- Install dependencies:
npm i
- Populate a
.env
following the.env.example
- Run:
npm start
idu-mobile's Introduction
idu-mobile's People
idu-mobile's Issues
Native notifications
Possibly with firebase?
Remember last visited screen
Save last visited screen (from the main ones) into localstorage (through MetaStore) and use it as the first screen
Add maskable icon
Its like adaptive icon, but with one croppable layer
Inform about an available update
MetaStore already stores the information, either:
- prompt a toast with a refresh action
- subtly show theres an update for example in the settings
Add option to reset settings to default
Login page
- form with username and password fields
- submit and fetch a token
- show IDU logo
BAB overhaul
There are multiple issues with it. A good refactor would address all of them.
- reduce the amount of times a screen entrance is animated: only when navigating with the BAB navigation drawer
- create types for navigation and state arrays
- allow for left/middle FAB in states
- smarter way of detecting which state to use (regex?)
Override default 'back button' behavior
Dont go back in history but to the parent page
Messages page
- list of messages
- show avatar
- show name
- show last message
- show date
- fetch new when on bottom
- specific message screen
- preview messages in 'chat' style
- date and time next to each message
- be able to send messages
Add SVG favicon
Example: view-source:http://xn--dahlstrm-t4a.net/svg/favicon/favicon.html
MobX complains about not being in production
you are running a minified build, but 'process.env.NODE_ENV' was not set to 'production' in your bundler
This is either a MobX bug (and should be reported) or it truly didnt load production build
Settings page
- choosing a language
- choosing a theme
- logging out
Create a cutout for fab in BAB
use history.goBack in BackBar
When passed a to
string, check if it's the previous item in history, if yes, use history.goBack()
instead of history.push()
Add a prop that will allow to disable this behavior
News page
- list of news
- show date
- show title
- show short prefix
- specific news
- open new page
- show card with expanded info and date
MobX stores stopped working
In the production build stores behave as if they dont see the localstorage. Nothing gets loading, nor saved, even tho you can see the localstorage containing info. This makes the app pretty much unusable
Remove toast util
Snackbar can do all a toast can + is more consistent
TopLoading isnt always on top
While the container is set to be fixed, the children are absolute meaning they wont follow the fixed container always.
Code split a loading screen
Load the rest of the assets while displaying some content (big loading screen)
Ability to create new threads (aka message)
- create FAB in BAB for creating new messages
- new screen under
/messages/new
- autocomplete input with receiver names
- title
- body text area
- checkbox "send copy on email"
- send button
- send message through API
- once sent, move to the screen of the newly created thread
Hide BAB when keyboard is open
Allow for changing accent colors
Primary and secondary as a RGB hex code with a small preview on the side
Show unread
There should be a way to distinguish whether an item is unread in:
- messages
- news
Recommended way: little dot
Prepare meta
To be ready for production following meta preparation should be done:
- create manifest
- add icon
- create title
- make SW non-aggressive
- theme-color
- custom install button
- disable zooming
- description
Sprinkle some web workers
Using Comlink and async-worker offload some expensive tasks
- calendar in '/events' could use some help with badges
- ...
Localize the calendar
For example pl
locale should force the calendar to show monday first
Decrease the browserlist
This app assumes it is running on new (mobile) hardware, there is no need for es5 polyfills
Pop-up news that require confirmation
Hide bottom bar when not used
For example on a page that doesnt use a BAB or when the keyboard is open
Events page
For now events will be previewed only in a '1-day' format.
- show currently previewed date
- show events that apply for the whole day
- show individual events
length- show time
- name
- color
- pick a specific date from a calendar
- show days that have 'whole day' events on the calendar
Elevate BackBar on scroll
+ Change to 'default'
color to blend in with the background
Log out when token is invalid
- show message why logout happened
- log out
Transition between screens
Store events in an IntervalTree
https://github.com/ShieldBattery/node-interval-tree: has type definitions, and allows for O(log n)
lookups
Devs page
- changelog
- licenses
- bug submission
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.