inKino is a minimal app for browsing movies and showtimes for Finnkino cinemas. It's made with Flutter, uses flutter_redux, and has an extensive set of unit and widget tests. It also has smooth transition animations and handles offline use cases gracefully.
While I built inKino for my own needs, it is also intented to showcase good app structure and a clean, well-organized Flutter codebase. The app uses the Finnkino XML API for fetching movies and showtimes, and the TMDB API for fetching the actor avatars.
The source code is 100% Dart, and everything resides in the /lib folder.
Before you build: Inside the /lib
folder, there's a file called tmdb_config.dart.sample. Rename it to tmdb_config.dart and you'll get rid of the build error.
The project is currently built using the latest Flutter Beta 2, with Dart 2 enabled.
Contributions are welcome! However, if it's going to be a major change, please create an issue first. Before starting to work on something, please comment on a specific issue and say you'd like to work on it.
Special thanks to Thibaud Colas, Alessandro Aime and Juho Rautioaho for giving their extra pair of eyes for reviewing the source code.