All Projects → gkye → DribbbleSwift

gkye / DribbbleSwift

Licence: MIT license
Swift wrapper for dribbble api v1 http://developer.dribbble.com/v1/

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to DribbbleSwift

Furnitureshop3d
Xamrin.Forms UI Challenge
Stars: ✭ 71 (+162.96%)
Mutual labels:  dribbble
Light dark toggle
An awesome flutter app which artistically animates light and dark mode 😍
Stars: ✭ 175 (+548.15%)
Mutual labels:  dribbble
tribbble
Tinder for Dribbble
Stars: ✭ 89 (+229.63%)
Mutual labels:  dribbble
Catchup
An app for catching up on things.
Stars: ✭ 1,690 (+6159.26%)
Mutual labels:  dribbble
Flutter parallax scroll
Flutter UI challenge- Parallax scroll effect
Stars: ✭ 172 (+537.04%)
Mutual labels:  dribbble
Dribbble2react
Transform Dribbble designs to React-Native code | Shop UI Kit >>
Stars: ✭ 2,443 (+8948.15%)
Mutual labels:  dribbble
Flutter ui challenge todo
A showcase flutter todo application.
Stars: ✭ 57 (+111.11%)
Mutual labels:  dribbble
Interactive-Add-Button-Layout
Custom Layout with interactive add button to impove your UI and UX .
Stars: ✭ 20 (-25.93%)
Mutual labels:  dribbble
React Native Dribbble App
Dribbble app built with React Native
Stars: ✭ 2,019 (+7377.78%)
Mutual labels:  dribbble
Hoopy
Hoopy is a lightweight and minimal Dribbble client.
Stars: ✭ 41 (+51.85%)
Mutual labels:  dribbble
Mfextractcolor
🐨从图片中自动提取特征颜色
Stars: ✭ 144 (+433.33%)
Mutual labels:  dribbble
Circularanim
Android ripple animation helper, easy to create Circular Reveal. | Android水波动画帮助类,轻松实现View show/hide/startActivity()特效。(0.4.6)
Stars: ✭ 1,998 (+7300%)
Mutual labels:  dribbble
dribbble-demo
use React + Redux and dribbble api to build this demo repo.
Stars: ✭ 40 (+48.15%)
Mutual labels:  dribbble
Socialcounters
jQuery/PHP - Collection of Social Media APIs that display number of your social media fans. Facebook Likes, Twitter Followers, Instagram Followers, YouTube Subscribers, etc..
Stars: ✭ 104 (+285.19%)
Mutual labels:  dribbble
ninja-ui-syntax
Beautiful Atom syntax theme inspired by a Dribbble shot.
Stars: ✭ 17 (-37.04%)
Mutual labels:  dribbble
Online food app
Visit our website for more Mobile and Web applications
Stars: ✭ 68 (+151.85%)
Mutual labels:  dribbble
Flutter Task App
Flutter Task UI (Dribbble)
Stars: ✭ 180 (+566.67%)
Mutual labels:  dribbble
weatherify
A weather app built with Svelte
Stars: ✭ 17 (-37.04%)
Mutual labels:  dribbble
React-Native-UI
A Collection of React Native UI inspired from dribbble and other sites.
Stars: ✭ 18 (-33.33%)
Mutual labels:  dribbble
dribbble
Simple wrapper for the Dribbble API
Stars: ✭ 31 (+14.81%)
Mutual labels:  dribbble

codebeat badge Version License Platform

#Usage ###Register Dribble application https://dribbble.com/account/applications/new

#Installation

###Cocoapods

Swift 3

pod 'DribbbleSwift', :git => "https://github.com/gkye/DribbbleSwift.git"

Swift 2

https://github.com/gkye/DribbbleSwift/tree/swift2

###Manual

  • Drag files into Xcode project
  • import DribbbleSwift

#Endpoints ##GET

##Authenticated Request

##Examples (GET) REQUIRED FOR ANY GET REQUEST TO WORK (AccessToken must be set before each GET request)

 ConfigDS.setAccessToken("YOUR ACCESS TOKEN")

#Buckets 👝 ###Get a bucket

    BucketDS.getBucket(bucketId: 377694){
      apiData, bucket in
      print(bucket?.name)
      print(bucket?.user.username)
    }

###List shots for a bucket

    BucketDS.getShots(bucketId: 377694){
      apiData, shots in
      print(shots?.count)
      print(shots?[0].title)
    }

Project 📄

###Get a project

     ProjectDS.getProject(projectId: 3){
      apiData, project in
      print(project?.name)
      print(project?.user.username)
    }

###List shots for a project

    ProjectDS.getShots(projectID: 3){
      apiData, shots in
      print(shots?.count)
      print(shots?[0].title)
    }

#Shots 📷 ###List Shots Parameters

 /**
     List shots
     - parameter perPage:           Resources per page, maximum = 100
     -parameter page: Current page of resource. Default = 1
     - parameter list:              Limit the results to a specific type with the following possible values: animated, attachments, debuts, playoffs, rebounds, teams     teams
     - parameter sort:              The sort field with the following possible values: comments, recent, views. Default = .views
     - parameter timeframe:         A period of time to limit the results to with the following possible values: week, month, year, ever
     - parameter date:              Limit the timeframe to a specific date, week, month, or year. Must be in the format of YYYY-MM-DD.
     - parameter completionHandler:   return NSError, JSON and an array of shots.
     */
     
    ShotsDS.getShots(perPage: 50, list: .animated, sort: .recent){
      apiData, shots in
      print(shots?.count)
      print(shots?[0].title)
    }

###List attachments for a shot

   ShotsDS.getAttachments(shotID: 2694049){
     apiData, atts in
     print(atts?[0].url)
     print(atts?[0].thumbnail_url)
   }

###List buckets for a shot

   ShotsDS.getBuckets(shotID: 2694049, perPage: 50){
      apiData, buckets in
      print(buckets?[0].description)
    }

###List comments for a shot

    ShotsDS.getComments(shotID: 2694049, perPage: 50){
      apiData, comments in
      print(comments?[0].body)
    }

###List likes for a shot

        ShotsDS.getLikes(shotID: 2694049, perPage: 50){
            apiData, likes in
            print(likes?[0].created_at)
            print(likes?[0].user.username)
        }

###List projects for a shot

        ShotsDS.getProjects(shotID: 2698163, perPage: 50){
            apiData, projs in
            print(projs?[0].name)
        }

###List rebounds for a shot

        ShotsDS.getRebounds(shotID: 2691323, perPage: 50){
            apiData, rbs in
            print(rbs?[0].title)
        }

#Team 👥 ###List a team’s members

        TeamDS.getTeamMembers("Dribbble"){
            apiData, memebers in
            print(members?[0].username)
        }
        TeamDS.getTeamShots("Dribbble", perPage: 10, page: 1){
            apiData, shots in
            print(shots?[0].title)
        }

#Users :bowtie: ###Get a single user

        UserDS.getUser("Ramotion"){
            apiData, user in
            print(user?.bio)
        }

###List a user’s buckets

        UserDS.getBuckets("SergeyValiukh"){
            apiData, buckets in
            print(buckets?[0].name)
        }

###List followers of a user

        UserDS.getFollowers("simplebits", page: 1){
            apiData, followers in
            print(followers?[0].follower.username)
            print(followers?[0].follower.name)
        }

###List users followed by a user

        UserDS.getFollowing("simplebits", perPage: 20, page: 1){
            apiData, followees in
            print(followees?[0].followee.username)
            print(followees?[0].followee.bio)
            
        }

###Check if one user is following another returns true if following, else false.

    UserDS.checkIfUserFollowingUser("dannpetty", targetUser: "SergeyValiukh"){
      apiData, followingStatus in
      print(followingStatus)
    }

###List shot likes for a user

        UserDS.getLikes("simplebits", perPage: 20, page: 1){
            apiData, likes in
            print(likes?[0].shot.title)
            print(likes?[0].shot.user.username)
        }

###List a user’s projects

        UserDS.getProjects("simplebits", perPage: 10, page: 1){
            apiData, projects in
            print(projects?[0].name)
        }

###List shots for a user

        
        UserDS.getShots("simplebits", perPage: 10, page: 3){
            apiData, shots in
            print(shots?[0].title)
        }

###List a user’s teams

        UserDS.getTeams("simplebits"){
            apiData, teams in
            print(teams?[0].name)
            print(teams?[0].members_count)
        }

#Authenticated Request 🔒 http://developer.dribbble.com/v1/oauth/ for more information about authentication process. ###Config MUST SET CONFIG TOKEN BEFORE ANY AUTHENTICATED REQUEST CAN BE EXECUTED

ConfigDS.setOAuth2Token("OAUTH2 TOKEN RECEIVED")

#Users ###Get the authenticated user

 UserDS.getAuthUser(){ apiData, user in  }

###List a user’s buckets

 UserDS.getAuthUserBuckets(perPage: 10, page: 1){apiData, bks in print(bks.0.json)   }

###List the authenticated user’s followers

 UserDS.getAuthUserFollowers(perPage: 10, page: 1){ apiData, flwrs in print(flwrs.followers?.count)}

###List who the authenticated user is following

 UserDS.getAuthUserFollowing(perPage: 10, page: 2){ apiData, fllwee in print(fllwee.followees?.count)}

###List shots for users followed by a user

   UserDS.userFollowingShots(){apiData, shots in print(shots.shots?[0].title) }

###Check if AuthUser following a user

 UserDS.checkIfAuthUserFollowingUser("Ramotion"){apiData, status in print(status.isFollowing) }

###Follow a user

   UserDS.followUser("wearepanic"){apiData, status in print(status.followed) }

###Unfollow a user

  UserDS.unfollowUser("Shopify"){apiData, status in print(status.unfollowed) }

###List shot likes for user

  UserDS.getAuthLikes(perPage: 20, page: 1){apiData, likedShots in print(likedShots.likes?[0].shot.title) }

###List a user’s projects

  UserDS.getAuthBuckets(){apiData, buckets in print(buckets?[0].name) }

###List shots for a user

  UserDS.getAuthProjects(perPage: 10, page: 1){apiData, projects in print(projects?[0].name) }

###List a user’s teams

  UserDS.getAuthShots(perPage: 10, page: 3){apiData, shots in print(shots?[0].title) }

##Shots Liking and Unliking shot requires the user to be authenticated with the write scope.

###Like a shot

    ShotsDS.likeShot(shotId: "2678120"){
      apiData, returnCode, status in
      print(returnCode) //
      print(status)
    }

###Unlike a shot

    ShotsDS.unlikeShot(shotId: "2678120"){
      apiData, returnCode, status in
      print(returnCode) //
      print(status)
    }

###Checking if user liked a shot

  ShotsDS.checkIfShotLiked(shotId: "2687276"){
      apiData, returnCode, status in
      print(returnCode) //
      print(status)
    }
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].