Coder Social home page Coder Social logo

weareopensource / swift Goto Github PK

View Code? Open in Web Editor NEW
20.0 3.0 6.0 10.44 MB

:computer: Swift - Boilerplate Front : RxSwift, ReactorKit, JWT, Moya (Beta)

Home Page: https://weareopensource.me

License: Other

Swift 99.55% Ruby 0.41% JavaScript 0.02% Shell 0.02%
rxswift reactorkit jwt moya stack boilerplate

swift's Introduction

Build Status Coveralls Status Code Climate

🌐 WeAreOpenSource Swift - Beta

πŸ“– Presentation

This project is a Swift stack that can be ran as a standalone FrontEnd. Or in a fullstack with another repo of your choice (ex: Node, Vue).

Quick links :

Our stack Swift is actually in Beta.

πŸ’» Swift / RxSwift / ReactorKit

πŸ“¦ Technology Overview

Subject Informations
Available
Architecture Layered Architecture : everything is separated in layers, and the upper layers are abstractions of the lower ones, that's why every layer should only reference the immediate lower layer (vertical modules architecture with Services Pattern))
Server / DB Our Node stack.
Reactive RxSwift - ReactorKit
RxOptional - RxDataSources - RxDataSources - RxAppState
Requests Moya - Kingfisher - images, with cookie plugin
Models Validator - Models struct & Validatable
Flow RxFlow
Tools SnapKit - Then - Reusable - ReusableKit
UX Eureka - Toaster - FontAwesome - SwiftSpinner
Logs CocoaLumberjack - LogFormatter services available
CI Travis CI
fastlane & Slather
Linter SwiftLint - SwiftGen
Developer Code Climate
standard-version / semantic-release - commitlint - commitizen - @weareopensource/conventional-changelog
Dependencies SPM
Being released
Testing in development
In reflexion
wip ....

πŸŽ‰ Features Overview

Available

  • User : classic register / auth or oAuth(microsoft, google) - profile management (update, avatar upload ...)

  • User data privacy : delete all data & account - send all data by mail

  • Tasks : list tasks - get task - add tasks - edit tasks - delete tasks

  • Uploads : get upload stream - add upload - auto delete old via api (ex : image => kingfisher: jwt, styles, cache, or sharp via node api)

  • Notification : example of notificaiton management

πŸ“Œ Prerequisites

Make sure you have installed all of the following prerequisites on your development machine:

  • Git - Download & Install Git
  • Xcode (10.x) - Download & Install Xcode
  • HomeBrew - /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • SwiftLint - brew update && brew install swiftlint (swiftlint autocorrect)
  • SwiftGen - brew update && brew install swiftgen

For CI :

πŸ’₯ Installation

It's straightforward :

git clone https://github.com/weareopensource/swift.git && cd Swift
./carthage-build.sh --platform iOS --no-use-binaries

πŸƒ Running Your Application

Development

  • click on play !

Production

  • in develompment

others

  • lint: swiftlint autocorrect
  • commit : npm run commit
  • release : npm run release -- --first-release standard version, changelog, tag & choose version number : -- --release-as 1.1.1
  • release:auto : GITHUB_TOKEN=XXXXX npm run release:auto semantic release, changelog, tag, release require repositoryUrl conf in package.json

Configuration

In develompment

Notifications

  • enable notifications in config/default/development.json
  • Or xcrun simctl push booted me.weareopensoruce.vue.testing example.apn (on simulator launched)
  • Or xcrun simctl push XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX me.weareopensoruce.vue.testing example.apn (xx => device token)
  • Or drag and drop example.apns on device
  • article

✏️ Contribute

πŸ“œ History

This work is based on MEAN.js and more precisely on a fork of the developers named Riess.js. The work being stopped we wished to take it back, we want to create updated stack with same mindset "simple", "easy to use". The toolbox needed to start projects, but not only with Node and Angular ...

Today, we dreams to create Backs/Fronts, aligns on feats, in multiple languages, in order to allow anyone to compose fullstack on demand (React, Angular, VusJS, Node, Nest, Swift, Go). Feel free to discuss, share other kind of bricks, and invite whoever you want with this mindset to come help us.

Feel free to help us ! :)

πŸ“‹ Licence

Packagist

πŸ”— Links

Blog Slack Discord Mail

swift's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar pierrebrisorgueil avatar semantic-release-bot avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

swift's Issues

feat(auth): init

  • signin local
  • signin connect to node
  • signup local
  • signup connect to node

feat(menu): auto

check if it's possible to constitue tabbar from module configuration

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.