• Stars
    star
    538
  • Rank 82,538 (Top 2 %)
  • Language
    Swift
  • Created almost 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Free stock avatars for everyone πŸ‘¦πŸΌπŸ‘¨πŸΎπŸ‘©πŸ» (Built w/ Swift)

TinyFaces πŸ‘¦πŸΌπŸ‘¨πŸΎπŸ‘©πŸ»

Tiny Faces is a free crowd-sourced avatar gallery to use in your personal or commercial projects

Also check out our Figma Plugin and Sketch Plugin

🦾 API

Endpoints

Query

  • quality : Filters the result(s) to lower or higher quality images by using a value from 0 to 10.
  • gender : Possible values for gender can be found in Gender.swift
  • limit : To limit how many results you get back by using a value of 50 or lower. Only works with the data endpoint. When mixed with gender this could return less than n results.

Limitations

  • Max requests per hour per IP address: 60
  • When you've reached your limit you'll receive an error response with status code 493

πŸŽ’ Before building (dependencies)

  • Install Xcode
  • Install Vapor Toolbox
  • Install Docker Desktop
  • Run docker-compose up db or ./Launch.sh
  • Run Package.swift using Xcode
  • Change your Xcode working directory to your root folder: Schemes > TinyFaces > Edit Scheme > Run > Options > Working Directory > [x]
  • Add a .env file to the local root directory this should have the values below:
STRIPE_SECRET_KEY=
STRIPE_PUBLISH_KEY=
STRIPE_PRICE=
STRIPE_WEBHOOK_SECRET=
CLOUDFLARE_ACCOUNT_IDENTIFIER=
CLOUDFLARE_ACCOUNT_HASH=
CLOUDFLARE_IMAGES_KEY=
CLOUDFLARE_BEARER_TOKEN=
URL=https://tinyfaces.ngrok.io

Sadly we can't share our Thumbor setup and therefore you need to run a instance yourself for this to work.

🚧 Building

  • Run the Run target in Xcode
  • The first time this can take a long time because it will seed the database with random first names and last names.
  • The application should now be running on http://localhost:8080

If you want to test Stripe webhooks you set the run a ngrok proxy and make sure you set the correct STRIPE_SECRET_KEY, STRIPE_PUBLISH_KEY, STRIPE_WEBHOOK_SECRET and STRIPE_PRICINGTABLE_ID in .env

ngrok http -subdomain=tinyfaces 8080 > /dev/null &

πŸ’Ÿ Heroku:

  1. In the project directory: heroku create --buildpack vapor/vapor
  2. Deploy using git push heroku master or setup continues deployment in Heroku.
  3. For logs use command heroku logs
  4. Make sure you fill in all Config Vars on Heroku, see the snippet below:
URL = https://tinyfac.es
MYSQL_URL =
PORT =
THUMBOR_URL=URL
THUMBOR_KEY=ABCDEFG
STRIPE_SECRET_KEY=
STRIPE_PUBLISH_KEY=
STRIPE_PRICINGTABLE_ID=
SWIFT_BUILD_CONFIGURATION = release

πŸ“– Documentation

Visit the Vapor web framework's documentation for instructions on how to use this package.