Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A multiplatform Dart movie app with 40% of code sharing between Flutter and the Web.

License

NotificationsYou must be signed in to change notification settings

roughike/inKino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is inKino?

Build Status

inKino is amultiplatform Dart app for browsing movies and showtimes for Finnkino cinemas.

InKino showcases Redux, has an extensive set of automated tests and40% code sharing between Flutter and web.The Android & iOS apps are made with a singleFlutter codebase. The progressive web app is made withAngularDart.This project is generally something that I believe is a good example of a multiplatform Dart project.

I plan on doing a full article series on multiplatform Dart stuff, so you might want tocheck out my blog and subscribe to it.

Get it on Google PlayGet it on the App StoreGet it on the App Store

Folder structure

There's three different folders. Each of them is a Dart project.

  • core: contains the pure Dart business logic, such API communication, Redux, XML parsing, sanitization, i18n, models and utilities.It also has a great test coverage.
  • mobile: this is the Flutter project. It importscore, and it's a 100% shared codebase for the native Android & iOS apps that go on app stores.
  • web: the AngularDart progressive web app. Also importscore, and it's the thing that is live athttps://inkino.app.

To work on these projects, open each one of them in an editor of your choice.

For example, if you want to do a new feature and you do it for the Flutter project first, you'd open bothcore andmobile in separate editor windows.To clarify, you'd doFile -> Open... for core and thenFile -> Open... again for mobile.

Development environment setup

  • Install Dart for the web. The customized Dart version Flutter ships with is not suitable for web development.
  • Installwebdev by runningpub global activate webdev. This requires that you ran your Dart installation properly and Dart is part of your PATH.
  • Install an IDE. You can't go wrong withWebStorm. If that doesn't tickle your fancy,there are other options too.
  • Install the Dart plugin for your IDE.

Finally, if you haven't already,install Flutter.And the Flutter plugin for your IDE.At the time of being, inKino is built withFlutter 1.0.

If you don't like IDEs,you can apparently use Emacs or Vim too.

Building the project

Renaming the TMDB configuration file

You don't need a TMDB API key, but the actor images won't load without it.

If you try to build the project straight away, you'll get an error complaining that a tmdb_config.dart file is missing.To resolve that, run this on your terminal in the project root:

cd core/lib/src&& mv tmdb_config.dart.sample tmdb_config.dart&&cd ../../..

OR

If you don't trust in random bash scripts copied from the Internet, you can just rename thetmdb_config.dart.sample totmdb_config.dart manually.

Building from source

First, ensure that you followed the "Development environment setup" section above.

  • To run theweb project, first runpub get initially, and thenwebdev serve in the root of the web project.
  • To run theFlutter project, open it in your editor and click the play button, or runflutter run on your terminal.

Contributing

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.

Thanks

Special thanks toOlli Haataja for the design.

Additional thanks for the initial release go toThibaud Colas,Brian Egan,Alessandro Aime andJuho Rautioaho for giving their extra pair of eyes for reviewing the source code.


[8]ページ先頭

©2009-2025 Movatter.jp