Giter Club home page Giter Club logo

timba's Introduction

Timba CI - Unit Tests Timba CI - End to End Web Timba CI - End to End iOS Timba CI - End to End Android Timba CD - Publish Web Timba CD - Publish Android codecov

Timba

Estimate your tasks in this scrum poker planning session

Aim of this project

This project is meant to be a full open source product. Everything is (and will be) documented so everyone can participate and learn from it.

For everyone

This product must be able to be used by anyone, so the more platforms where it runs, and the more accessible it is the better.

Technology

Frontend framework

The frontend technology chosen to develop this project is: Flutter

The main reasons to choose Flutter as development frontend framework:

  • Multiplatform framework. The very first dilemma that I faced as a single developer who has to build an entire product by himself is how to invest properly my limited time. The first idea that came to my mind is: Write once run everywhere.
  • Huge community behind. The community is pretty big, lots of articles, lots of questions on stackoverflow. So in case of needing help I know where to look for it.
  • Solid company behind. Google is actively developing Flutter in the most open-source way possible. Meanwhile, Google is well-known for abruptly abandoning some of their project (I still love Project Tango). However, Flutter is being really well-received by developer community, and it will be the main framework for building apps in Fuchsia.

Continuous Integration / Delivery

Github Actions is the chosen solution for continuous integration / delivery because:

  • Integrated in the repository
  • Huge community developing really useful actions
  • Free for open-source projects
  • Linux, MacOs and Windows supported, so it fits the compilation needs of this project

Continuous Integration

The Continuous Integration system for this project will run on every push/merge to master and every push to a pull request. There are four things that will be checked:

  • Unit tests
  • End to end tests for Web
  • End to end tests for Android
  • End to end tests for iOS

If all those four checks are green you will be able to merge your branch to master.

timba's People

Contributors

lukard avatar

Stargazers

David Fernando Valenzuela Pardo avatar  avatar Julio Lagos avatar Valdemar Ortiz avatar Daniel Llanos Muñoz avatar Ricardo Miguel avatar  avatar

Watchers

James Cloos avatar  avatar

timba's Issues

Set initial structure

Now that we have our base project created at GitHub, let's create the basic stucture.

Add github actions and add simple flutter driver test for Android, iOS and Web

Acceptance criteria:

  • App runs on Android
  • App runs on iOS
  • App runs on Web

Remove dependency_overrides on pubspec.yaml

Remove dependency_overrides on pubspec.yaml

Motivation

There was a bug on the analyzer that makes it impossible to run build_runner. It has been temporarily downgraded to the previous version to make it work.

More info: dart-lang/build#2685

Acceptance Criteria

The following block has been removed from pubspec.yaml

dependency_overrides:
  analyzer: 0.39.14

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.