news-website-jekyll

news-website-jekyll

Website of News service.

Flutter CMS Demo

Lire la documentation en français.

Demo project that showcase how you can build your news mobile app from your blog in minimal time.

Goals

  • Provide to developers, a set of tools that helps build a news mobile application in a minimal of time.
  • Provide a way to preview in a few seconds what a news or content site would look like, in its native mobile version.
  • Helps contents creators, and bloggers prototype easily the appearance and integrate features for the news mobile application, with no knowledge of Flutter.

Ambitions

At it's foundation, this project is based on the Flutter News ToolKit made by the Collaboration between Google News Initiative and VGV.

It already come with features like :

  • Flavors ;
  • Mobile Ads ;
  • Analytics ;
  • Internationalization ;
  • Authentication ;
  • Subscription to newsletter ;
  • Push notifications ;
  • Dark theme ;
  • Deep links ;
  • In App purchases ;
  • Permissions management ;
  • Local storage ;
  • Dependency injector ;
  • State management ;
  • Full template UI ;

As this helps us prototype quickly the first version, our desire is to go a little further.

State management

Our first ambition is not to be tied to a single state management solution. The app generator that powered this demo, was rewritten entirely with Riverpod; not because Flutter Bloc isn't efficient, but rather because we integrated junior developers into the development team quite quickly and from their base with Provider, it was easier for them to understand Riverpod.

We hope to create different versions of the app generator, which will support the most popular state management solutions to make everyone feel at home. If you want to helps us, support your preferred state management feel free to contact us.

CMS Data Sources Providers

We want to provide a simple way to convert content from all content management systems into data for a mobile news application. The initial version of the app generator support Jekyll (with some configurations) WordPress (with WordPress REST API), Ghost (with Ghost Content API Documentation), and Blogger. But we want to go further and support all majors CMS, and provide a way to convert your contents, even if it's stored in your database and only accessible via a API (Restful, ...).

Configuring data sources

Some data sources require additional configurations or resources to be taken into account.

No information that is not already public and open to all can be retrieved by our content converters.

None of the authentication data (and overall information) you provide is sent to our servers. They can be stored locally (with a hash by WebCrypto), so you go to the last site you configured at launch.

  • JEKYLL: Jekyll sites do not offer an access point to all their resources via a Rest API. But this behavior can be mocked. More details in [this article](https://blog.theresilient.dev/jekyll-blog-to-flutter-news-application-part-1-introduction#heading-2-communication-%20entre-l%27application- and-the-website-via-jekyll-json-posts-api).
  • WORDPRESS: By default, the Rest API is enabled with WordPress sites. However, certain information such as access to authors (and therefore users) can be subject to a verification step. This is why when selecting WordPress as a data source you are optionally asked to enter login information. Those are optionnal information.
  • GHOST: Ghost content API integration requires an API key which must be generated by the site owner. As explained in the documentation, the API key is safe to use in browsers and other insecure environments because they only provide access to public data. This option is available in the Integrations section of the Ghost site admin interface. After generating the key, you choose Ghost as the data source and enter the key in the field reserved for this purpose.
  • BLOGGER: no configuration necessary.

Start from no CMS Data Source Provider

Even if this tool was first designed as a converter from an existing content site to an application, nothing prevents you from reversing the process. Get your news and content app even without having a site. In this scenario, an administration application allowing the creation of contents which will be available in the application, will be made available to the user.

Multiple UI templates

We want to offer the user the possibility of choosing from a variety of different templates, which they can personalize as they wish.

No code Tools

We want also, when the first version of the generator will be stable to build a No Code Tools around it to allow even non-developers to prototype their mobile content application in just a few minutes.

More solutions for monetization

The current version of Flutter News ToolKit only supports Google Mobile Ads. Even if we like Google products, we want to offer more alternatives and even completely personalized ones, to satisfy, for example, users who already have an advertising network on their site.

Content creator tools

In the future, we want to provider additional ressources for content creators :

  • Analytics and administration mobile / desktop applications, that helps manage your on boarding resources, contents, premiums articles, notifications, subscriptions, payments, users, settings, custom templates...
  • Add support for custom specific medias (videos, musics, podcasts).

Demo Roadmap

Follow the development of the Demo app with the Issues Board.

Disclaimer

At this point, the application builder code source is closed. This is mainly because the project is not yet really mature and we are still bickering over architectural issues. If you would like to join us in this work, please feel free to contact us. This repo contains only a prototype compiled web version of our generator which allows you to play a little with the engine directly from a browser. It was possible thanks to the work of aloisdeniel, on the device_preview package.

But at this moment, this project will helps us inform person with interests in this project, our avancements.

So feel free to fill issue, who are questions or bugs about the application demo or feature requests, following our guidelines.

Copyrights

Flutter is is a registered trademark by Google. We have no affiliation or agreement with Google. We are just developers in love with the framework ; as Rémi says, Dart make our heart Flutter.

Made with 💙 by bienvenuelisis and theresilientdevs from 🇹🇬 .