A Dev Feed News App with Flutter

A Dev Feed News App with Flutter

Dev Feed is a Flutter-based mobile application allowing to keep up with top engineering content from companies all over the world. It stemmed from my own needs to not only follow a curated list of tech-related blogs, but also play a little bit with the excellent

Dev Feed

Dev Feed is a Flutter-based mobile application allowing to keep up with top engineering content from companies all over the world. It stemmed from my own needs to not only follow a curated list of tech-related blogs, but also play a little bit with the excellent Flutter SDK.

demo

Tech Stack

The tech stack is rather simple:

  • Backend
    • A Spring Boot application written in Kotlin, which contains scheduled crawlers in charge of analyzing certain remote websites for articles and feeding a local database. It then aggregates and exposes such data over a GraphQL API, with the ability to search for articles, or by tags, or to read past articles. This Backend application is published to the Docker Hub, and continuously deployed to Heroku as well. At the moment, articles are fetched from the list below, but additional sources may be added later on:
  • Mobile
    • A cross-platform mobile UI application written in Dart, using the Flutter SDK. Please note that there is no sync'ing mechanism, and all search/favorite articles are stored on the local device. This is an enhancement that might be implemented later on.

Building and running

  1. Clone the repo
git clone https://github.com/rm3l/dev-feed && cd dev-feed
  1. Build the Backend
./backend/gradlew -p ./backend build --stacktrace
  1. Run the Backend GraphQL API
java -jar backend/api/build/libs/dev-feed-api-1.3.0.jar

You can then access the GraphiQL browser by heading to http://localhost:8080/graphiql

  1. Install Flutter by following the instructions on the official website

  2. Prepare the configuration environment

Skip this to use the default Heroku Backend. Otherwise, if you have a custom Backend (either local or remote), you need to create a specific environment file (say my_personal_backend.dart) in the mobile/lib/environments folder, e.g.:

import 'package:dev_feed/env.dart';

void main() => MyPersonalBackend();

class MyPersonalBackend extends Env {
  final String baseUrl = 'https://my-dev-feed-backend-api.example.org';
}
  1. Build the mobile apps

First cd to the mobile directory:

cd mobile

If you simply want to target the default Heroku backend, just run:

flutter build apk

Otherwise, if you have a custom Backend (and its related Dart environment file) declared under mobile/lib/environments/my_personal_backend.dart, then run:

flutter build apk -t lib/environments/my_personal_backend.dart

You will then find the mobile applications built under the respective platform folders. For example, the APK for Android can be found under build/app/outputs/apk/.

  1. Install and run the APK either in an emulator or in a real device
flutter install

Or:

adb install -r build/app/outputs/apk/app.apk

Contribution Guidelines

Contributions and issue reporting are more than welcome. So to help out (e.g., with a new Article crawler plugin in the Backend), do feel free to fork this repo and open up a pull request. I'll review and merge your changes as quickly as possible.

You can use GitHub issues to report bugs. However, please make sure your description is clear enough and has sufficient instructions to be able to reproduce the issue.

Credits / Inspiration

Developed by

Download Details:

Author: rm3l

Source Code: https://github.com/rm3l/dev-feed

flutter dart mobile-apps

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Google's Flutter 1.20 stable announced with new features - Navoki

Google has announced new flutter 1.20 stable with many improvements, and features, enabling flutter for Desktop and Web

Top 25 Flutter Mobile App Templates in 2020

Flutter has been booming worldwide from the past few years. While there are many popular mobile app development technologies out there, Flutter has managed to leave its mark in the mobile application development world. In this article, we’ve curated the best Flutter app templates available on the market as of July 2020.

Flutter App Development Trends 2020

As the new decade dawns upon us, a slew of technologies has been making a lot of noise to grab the developers’ attention. While native app development is going strong, the trade winds are now blowing towards going cross-platform.

How To Succeed In Mobile App Wireframe Design?

This article covers everything about mobile app wireframe design: what to do and what not, tools used in designing a mobile or web app wireframe, and more.

What is Flutter and why you should learn it?

Flutter is an open-source UI toolkit for mobile developers, so they can use it to build native-looking Android and iOS applications from the same code base for both platforms. Flutter is also working to make Flutter apps for Web, PWA (progressive Web-App) and Desktop platform (Windows,macOS,Linux).