GithubHelp home page GithubHelp logo

bow-swift / nef-editor-client Goto Github PK

View Code? Open in Web Editor NEW
20.0 7.0 0.0 2.61 MB

📱Client-side code for the nef editor app

License: Other

Swift 100.00%
bow nef fp functional-programming swift swift-playgrounds swift-package-manager hacktoberfest

nef-editor-client's Introduction

nef Playgrounds

Welcome to the client-side code of nef Playgrounds for iPad!

nef Playgrounds lets you:

👨‍🍳 Create a nef recipe...

📦 ... add your favorite Swift dependencies ...

📲 ... and create a Swift Playground that you can use on your iPad!

How does it work?

nef Playgrounds uses GitHub API to search for Swift repositories and select a branch or tag that can be used as a dependency in Swift Package Manager. Then, it communicates with its backend, which is also open source, to generate a Swift Playground that contains the selected dependencies. This Playground is sent back to the client and users can open it in the Playgrounds app. It will let users write Swift code using the Swift Packages of their choice.

Unfortunately, this may not always work; your repository must contain only Swift code, have a Package.swift manifest file, and be prepared to run on the iPad (the runtime in the iPad is slightly different and there may be parts of your library that do not work properly).

How do I run this project?

  • Open the project on Xcode.
  • Run the schemes GenerateGitHubAPI and GenerateNefAPI. You will need to have Bow OpenAPI installed on your Mac. These tasks will generate two folders named GitHub and NefAPI respectively.
  • Add the folders to the root of the project.
  • You may need to configure your app ID and create the necessary entitlements to handle Apple Sign In and iCloud storage.

License

Copyright (C) 2020-2021 The nef Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

nef-editor-client's People

Contributors

miguelangel-dev avatar truizlop 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  avatar  avatar  avatar  avatar

nef-editor-client's Issues

Dependency view

Create a view for a single dependency, showing its name, owner and version (tag or branch).

Requirement View

Create a view for a single requirement of a dependency. A requirement can be either a version or a branch.

GitHub search logic

Integrate the app with the GitHub API for search and display the results using the created components.

Search view

Create a view with a search bar and the grid of results created in #5. It must display empty, loading and error states as well.

Requirement picker view

Create a view to pick a requirement from a list (as created in #11), with states for loading, empty, loaded and error.

Search grid results view

Create a grid to display search results from a GitHub search, using the view created at #4 for each item displayed in the grid.

Recipe detail view

Create a detail view to show and edit the dependencies and metadata in a recipe

Repository view

Create a view for a single GitHub repository that displays the result of an item after a search on GitHub.

Duplicate a recipe

Add an action to duplicate a recipe, especially useful to duplicate and edit featured recipes.

Edit recipe logic

Add flow to edit title and description of a regular recipe (featured recipes cannot be edited).

Remove a recipe

Add an action to remove a recipe created by the user. Featured recipes cannot be removed.

Recipe catalog

Create a recipe catalog with 2 sections: featured and user created.

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.