gabrielepalma / Sublimate
Licence: mit
Sublimate: Ridiculously fast full stack Swift prototyping with Vapor and Sourcery.
Stars: ✭ 57
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
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
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
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].