Skip to content

july2016codepathgroup2/pensum

Repository files navigation

Final Project - Pensum

Pensum is an android app that allows a user to post tasks they need help with, bid on tasks, view and edit user profiles, as well as chatting with task candidates. The app utilizes Parse and Zip Code API.

Time spent: 3.5 weeks spent in total.

User Stories

The following required functionality is completed:

  • User can sign in to Facebook using OAuth login
  • User can view tasks from their dashboard timeline in grid view
    • User is displayed the poster picture, name and task title, hashtag, and budget
    • User is taken to task detail when they click a task
  • User can view tasks from their dashboard timeline in map view
    • User is displayed the poster picture, name and task title, hashtag, and budget when they click on a marker
    • User is taken to the task detail when they click on an info window
  • User can switch between portrait and landscape mode
  • User can post a new task
    • User can click a "New" Floating Action Button on the bottom right in the Dashboard
    • User can then enter a new task and post it
    • User is taken back to dashboard timeline after the new task is posted
    • User can view the new task in "MY TASK"
  • User can search for tasks in Grid view
  • User can apply search filters on task in Grid view
  • User can view a list of of their tasks categorized by open, accepted, completed in "MY TASK menu
  • User can delete their own task by left swipe on a task
  • User can edit an own task if the status of the task is open
  • User can accept a bid on a task
  • User can mark task as completed and rate the candidate
  • User can view their own profile by going to the "PROFILE" menu
  • User can view any candidates profile by clicking on their Profile image
  • User can add, delete, and edit skills on their profile
  • User can view the rating and complete percentage on a profile
  • As the task bidder, user can view their bids in "MY BIDS" menu
    • User can check the tasks they won in won tab
    • User can check the tasks they got declined in the declined tab
  • User can view a list of tasks with bids and messages by clicking on "MESSAGE" menu
  • As the task bidder, user can bid on a task
    • User can click "contact" from detail view
    • User can enter a bid price and message to task owner
  • As the task owner, user can accept a bid on a task
    • User can click "accept" from detail view
    • User is taken to the accept/decline screen after clicking the accept button
    • User can accept/decline a candidate by swiping the candidate right or left
    • User can click on the candidate to chat with the candidate in a message like system
  • As the task bidder, user can chat with owner in a message like system

The following optional features are implemented:

  • User can upload a picture on post a task page
  • User can view more tasks as they scroll with infinite pagination. Number of tasks is unlimited.
  • User can pull down to refresh dashboard grid timeline
  • User can open the app offline and see last loaded posts. Persisted in SQLite tweets are refreshed on every application launch. While "live data" is displayed when app can get it from Twitter API, it is also saved for use in offline mode.
  • User can see embedded image within the post detail view
  • User can see embedded map within the post detail view
  • Apply the popular Butterknife annotation library to reduce view boilerplate.
  • Leverage RecyclerView as a replacement for the ListView and ArrayAdapter
  • Leverages the data binding support module to bind data into layout templates.
  • Replace Picasso with Glide for more efficient image rendering.

Video Walkthrough

Here's a walkthrough of implemented user stories:

FB Login and Dashboard

Video Walkthrough

Create a Task

Video Walkthrough

Accept and Complete a Task

Video Walkthrough

Chat/Message a task author

Video Walkthrough

Attach picture to your task and delete own task

Video Walkthrough

GIF created with LiceCap.

Notes

TBD

Open-source libraries used

  • Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
  • Picasso - Image loading and caching library for Android

License

Copyright 2016 Daryl Halima, Eddie Tseng, Terri Chu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

icon by Arun Thomas is licensed under CC BY 2.0

About

Pensum - Android app to get help with any task from your community

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages