Code Monkey home page Code Monkey logo

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

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.