All Projects → gabrielepalma → Sublimate

gabrielepalma / Sublimate

Licence: mit
Sublimate: Ridiculously fast full stack Swift prototyping with Vapor and Sourcery.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Sublimate

Wtfautolayout
The source code for Why The Failure, Auto Layout?
Stars: ✭ 958 (+1580.7%)
Mutual labels:  vapor
Leaf Error Middleware
Serve up custom 404 and server error pages for your Vapor App
Stars: ✭ 43 (-24.56%)
Mutual labels:  vapor
Multipart Kit
🏞 Parses and serializes multipart-encoded data with Codable support.
Stars: ✭ 52 (-8.77%)
Mutual labels:  vapor
Ron Cxx
RON2.1 C++ implementation
Stars: ✭ 33 (-42.11%)
Mutual labels:  synchronization
Uiwebkit
Create web pages for Vapor in Swift.
Stars: ✭ 40 (-29.82%)
Mutual labels:  vapor
Copycat Action
©️ GitHub Action for copying files to other repositories
Stars: ✭ 48 (-15.79%)
Mutual labels:  synchronization
Docker Compose Wait
A simple script to wait for other docker images to be started while using docker-compose
Stars: ✭ 945 (+1557.89%)
Mutual labels:  synchronization
Generator Dhboilerplate
Boilerplate made by David Hellmann
Stars: ✭ 54 (-5.26%)
Mutual labels:  prototyping
Apicore
Core API functionality (users & teams, passwords, emails, etc) for any service built with Vapor 3
Stars: ✭ 43 (-24.56%)
Mutual labels:  vapor
Fluent Sqlite Driver
Fluent driver for SQLite
Stars: ✭ 51 (-10.53%)
Mutual labels:  vapor
Megasync
Easy automated syncing between your computers and your MEGA Cloud Drive
Stars: ✭ 975 (+1610.53%)
Mutual labels:  synchronization
Auth Template
A starting point for Vapor applications using the auth provider.
Stars: ✭ 39 (-31.58%)
Mutual labels:  vapor
Angrdbg
Abstract library to generate angr states from a debugger state
Stars: ✭ 49 (-14.04%)
Mutual labels:  synchronization
Url Encoded Form
📝 Parse and serialize url-encoded form data with Codable support.
Stars: ✭ 32 (-43.86%)
Mutual labels:  vapor
Fluent
Vapor ORM (queries, models, and relations) for NoSQL and SQL databases
Stars: ✭ 1,071 (+1778.95%)
Mutual labels:  vapor
Json
Convenience wrapper for Foundation JSON.
Stars: ✭ 30 (-47.37%)
Mutual labels:  vapor
Admin Panel Provider
Build easy customizable admin features for your app ✍️
Stars: ✭ 47 (-17.54%)
Mutual labels:  vapor
Poosh
🌎 Publish local files to virtually any remote endpoint (e.g. AWS S3)
Stars: ✭ 55 (-3.51%)
Mutual labels:  synchronization
Vynchronize
Watch videos with friends online with the new real time video synchronization platform
Stars: ✭ 1,072 (+1780.7%)
Mutual labels:  synchronization
Fake Auth
A fake auth service for prototyping authentication flows
Stars: ✭ 50 (-12.28%)
Mutual labels:  prototyping

sublimate

Sublimate: Ridiculously fast full stack Swift prototyping with Vapor and Sourcery

Quick start:

  • install Sourcery, Vapor and CocoaPods
    brew install cocoapods
    brew install sourcery
    brew install vapor/tap/vapor
    
  • clone Sublimate repo
    $ git clone https://github.com/gabrielepalma/sublimate.git
    
  • edit the file Demo.swift in Sourcery/Models:
    • add new frost models as you see fit.
    • if implements FrozenModel, it will be public and won't require any authentication
    • if implements OwnedFrozenModel, it will be private, matched to the user and require authentication
    • the primary keys will be added automatically.
    • only Int, Double and String field types are currently supported
  • run Sourcery: from the repository root run
    $ sourcery
    
  • create the Vapor project: from SublimateVapor folder run
    $ vapor xcode
    
  • open the Vapor project and run it
  • download CocoaPods dependencies: from SublimateClient folder run
    $ pod install
    
  • open the Client workspace and run it on simulator

Features

The project provides:

On server:

  • fluent models for Vapor generated from the frost models provided
  • appropriate GET, POST and DELETE routes for CRUD operation on models
  • middlewares for the routes requiring authentication
  • authentication logic based on Refresh/Access dichotomy and JWT tokens.

On client:

  • network clients and related DTOs based on PromiseKit
  • an offline-first synchronization framework (SublimateSync) based on RxSwift and Realm.
  • a mock UI (SublimateUI) to be used as a demo/test application
  • an authentication client, manager and view controller, including automatic refresh of the access token

The resulting mock UI is ready to run, demonstrating authentication, synchronization and (randomized) CRUD operations.

Coming next

  • customizable User Profile
  • support for image upload (via multipart POST requests) and download (with cache and arbitrary thumbnail resizing)
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].