Home - GideonsPromiseDev/GPMobileApp GitHub Wiki

Getting Started

Installing Flutter and Configuring Your Development Environment

  • To begin developing on this application, you need to ensure that Flutter is installed properly and your development environment has been set up properly.
  • You should follow the entire Getting Started section in the official Flutter documentation on how to get everything set up and installed: Install Flutter
    • I personally use VS Code as my editor, but editors are all personal preference!
  • When you complete all the steps in this section, you're ready to code!

Git Refresher

If you're new to Git or if you need a quick refresher here are a few resources to get you up to speed:

  • What is Version Control?
    • Don't worry that this says BitBucket! BitBucket is another version control platform and it's very similar to GitHub. You interact with both platforms using Git, so once you understand Git, you can interact with any version control platform!
    • Go the the following sections: What is version control, Source Code Management, What is Git, and Why Git for Your Organization
  • Installing Git
  • What is Branching?
  • Git and GitHub for Beginners

Git Tips

  • Overall, the main features of Git that you'll use most often are cloning, branching, committing, and merging
  • When multiple people are working on a single project, you should use branches so that your code doesn't interfere with someone else's code.
  • It may also be helpful to break pieces of app functionality that you're implementing into branches
  • Your main/master branch is where your production ready code (code that works and is ready to be deployed) should live. It's best practice to push your code to another branch (usually a development branch) and then merge it into the main branch with a pull request. This ensures that unreviewed code doesn't make it to production and reduces the chances of you potentially breaking code on your main branch

Cloning the Repo

Now that you're ready to start developing, all that's left for you to do is to clone this repository to your computer. Cloning will make a copy of all the files that you see here on GitHub and put them on your computer. As time goes on, you'll pull changes from this repo to keep the local copy of the repo on your computer up to date, and you'll push changes that you make locally to this repo as well.

  • You can clone this repo by running the following command on your computer git clone https://github.com/GideonsPromiseDev/GPMobileApp.git
  • Once you've done this, you can create a new branch and get started developing!

Project Structure

Currently, the project is structured in a way that similar components are placed together in the same folder. For example, all components that relate to a specific page are placed in a folder with the name of the page they're built for within the pages folder (pages/home = all home page components). Components that can be used across multiple components such as service components are placed in a folder specific to their function. In general, components should be placed into a folder that corresponds to their function. This will allow other developers to quickly orient themselves within the codebase, and it will help you keep the codebase organized. If you start repeating code in multiple places, that may be a sign that you can create a shared component file that generalizes that code so it can be reused more easily across the project.