Giter VIP home page Giter VIP logo

users-task's Introduction

users_task

A simple Flutter application for create and view users.

Table of Contents

Introduction

Welcome to the Users App! This Flutter application allows users to create, read users items.

Features

  • Google Login Screen: Implement a screen where users can log in using their Google accounts. . API Integration:
  • Upon successful login, extract the username or email from the Google account information.
  • Use the extracted information to create a new user by sending a POST request to the API endpoint.
  • Navigate to a new screen to display the list of users retrieved from the API using the "List Users" function.

Getting Started

Prerequisites

Make sure you have Flutter and Dart installed on your machine. If not, follow the official Flutter installation guide.

Installation

  1. Clone the repository:

    git clone https://github.com/karar0120/users-task.git
    cd users-app-flutter
  2. Install dependencies:

    flutter pub get
  3. Run the app:

    flutter run

Project Structure

.
├── core                       # For all common and core files.
│   ├── error                  # contains all Exceptions and Failures classes
│   ├── presentation           # Common presentation files
|   │   └── blocs              # Common blocs
|   │   └── pages              # Core pages
|   │   └── widgets            # Common widgets
│   └── route                  # Routes for navigation
│   └── theme                  # Theme data
│   └── usecases               # Common usecases
|
├── data                       # Data Files of Feature 1
│   ├── datasources            # DataSources Abstract Files and Implementations
│   │   └── feature            # Feature 1 (for exp : Todo Feature)
│   │       └── sub-feat.      # Sub feature
│   ├── models                 # Models for data
│   │   └── feature            # Feature 1 (for exp : Todo Feature)
│   │       └── sub-feat.      # Sub feature
│   └── repositories           # Repositories Implementation Classes
│       └── feature            # Feature 1 (for exp : Todo Feature)
│           └── sub-feat.      # Sub feature
├── domain                     # Domain
│   ├── entities               # Entities For Feature 1
│   │   └── feature            # Feature 1 (for exp : Todo Feature)
│   │       └── sub-feat.      # Sub feature
│   ├── usecases               # Usecases of Feature 1
│   │   └── feature            # Feature 1 (for exp : Todo Feature)
│   │       └── sub-feat.      # Sub feature
│   └── repositories           # Repositories Abstract Classes
│       └── feature            # Feature 1 (for exp : Todo Feature)
│           └── sub-feat.      # Sub feature
└── presentation               # Presentation files
    ├── blocs                  # Blocs
    │   └── feature            # Feature 1 (for exp : Todo Feature)
    │       └── sub-feat.      # Sub feature
    ├── pages                  # Pages
    │   └── feature            # Feature 1 (for exp : Todo Feature)
    │       └── sub-feat.      # Sub feature
    └── widgets                # Widgets
        └── feature            # Feature 1 (for exp : Todo Feature)
            └── sub-feat.      # Sub feature

Architecture

This app uses [Clean Architecture by Robert C Martin]

Image Source : ResoCoder

Branches

.
├── master                       # Contains the latest release
       ├── dev                   # Contains the latest development
            ├── feature1         # feature 1 created from dev
            ├── feature2         # feature 2 created from dev
            ├── feature3         # feature 3 created from dev
            ├── bugFix1          # bugfix 1 created from dev
            ├── bugFix2          # bugfix 1 created from dev
            ├── docChange1       # docChange 1 created from dev
            ├── docChange1       # docChange 2 created from dev

Pet List:

  • Google Login Screen:
  • Develop a screen with a Google Sign-In button.
  • Utilize the Google Sign-In plugin for Flutter to handle authentication.
  • Upon successful authentication, extract the relevant user information (e.g., username, email).

📱 Screens

Screenshot_1714014786

API Integration:

  • Implement a function to send a POST request to the API endpoint for creating a new user.
  • Use the extracted user information (username or email) as part of the request payload.
  • Handle the response from the API appropriately (e.g., display success or error message).

User List Screen:

  • Create a new screen to display the list of users retrieved from the API.
  • Implement the "List Users" function to fetch the user data from the API endpoint.
  • Display the list of users in a user-friendly format (e.g., using a ListView).
  • Implemented pagination to load the next page when scrolling to the bottom of the list.

📱 Screens

Screenshot_1714014800 Screenshot_1714014856 Screenshot_1714014858

users-task's People

Contributors

karar0120 avatar

Watchers

 avatar

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.