jameskbride / codemash-companion Goto Github PK
View Code? Open in Web Editor NEWAn Unofficial Codemash App for Android
License: MIT License
An Unofficial Codemash App for Android
License: MIT License
The session detail view should have a bookmark FAB to add the session to the user's schedule. If the session has not been added the button should be Codemash green with a bookmark icon and should add the session as a bookmark. If the session has already been added the FAB should be red with a minus icon, and when tapped it should remove the session from the bookmarks.
The third tab of the MainActivity should be a schedule view, which looks and behaves identically to the Sessions tab. The data for this tab is loaded from bookmarked session data.
Deploy the app to the play store.
Needed:
Currently when data is refreshed there is a possibility that old sessions and speakers are no longer valid (a session is cancelled, a speaker can't make it, etc). This old data is not cleaned up in the database, meaning it will still show up in the the session and speaker listings, which could confuse conference go'ers.
The data in the database that no longer exists in the latest refresh from the API should be deleted, and all associated tables should cascade delete.
Tapping a session from the sessions list should take the user to a Session Detail view pager. Swiping left and right should navigate between the sessions. This view should display:
Conference data is currently loaded when the app is started up while a loading screen is displayed. If an error occurs a dialog should be displayed to the user indicating something went wrong.
The dialog should:
Shamefully, this app was built with zero functional tests. We need to add Espresso tests to cover the expected behavior. These tests should start with MainActivity, rather than Splash. This will allow us to simply insert data into the database instead of making a network call.
The ActionBar on screens which are not the Main activity need to have back behavior implemented. The Main activity should not have back on the ActionBar.
See https://stackoverflow.com/questions/26651602/display-back-arrow-on-toolbar-android for an example.
In order to load updated Conference Data the user should be able to pull to refresh from the main activity. Pulling to refresh to should send out a new RequestConferenceDataEvent. The SpeakersFragmentPresenter should notify the view of updated speakers, as should the SessionsFragmentPresenter with updated sessions.
Currently the conference data is requested every time the app is loaded. This is inefficient because the data will not change often as well as error prone as connectivity at Codemash will not be good. We should check if data already exists in the database, and if so do not request the conference data again.
The About page should be an option on the menu from the main activity.
The page should contain:
Speakers can currently be tapped in the Speakers tab to display the selected speaker in a ViewPager. The Speaker view needs to be laid out, and should include:
It would be nice to have a feature to either open the app with the days collapsed or to be able to collapse days so that during the last 2 days of conferences you don't have to scroll through all the previous courses
Hey James, do you have any intention/plan on updating the speaker / session list for Codemash 2020?
App Icons need to be created.
App is crashing for api 23 and lower due to Support FAB issues.
The sessions a speaker is holding should be listed on their detail page. This will involve mapping the sessions <- -> speaker relationship in the database, configuring the Room entities to hold these relationships, and adding queries to retrieve this data.
The proguard rules need to be implemented to account for Kotlin.
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.