From 027981b17bbc3e8ba775c79e73ed8e606531d7db Mon Sep 17 00:00:00 2001 From: jld3103 Date: Mon, 18 Sep 2023 13:14:10 +0200 Subject: [PATCH 1/2] chore(neon_lints): Remove unused changelog Signed-off-by: jld3103 --- packages/neon_lints/CHANGELOG.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 packages/neon_lints/CHANGELOG.md diff --git a/packages/neon_lints/CHANGELOG.md b/packages/neon_lints/CHANGELOG.md deleted file mode 100644 index effe43c8..00000000 --- a/packages/neon_lints/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.0 - -- Initial version. From 630eb3499906f8e075a2d1a1be1ba4349714980e Mon Sep 17 00:00:00 2001 From: jld3103 Date: Mon, 18 Sep 2023 13:14:33 +0200 Subject: [PATCH 2/2] chore(docs): Fix typos and cleanup links Signed-off-by: jld3103 --- README.md | 44 ++++++++++++++++++++++---------------------- docs/README.md | 4 ++-- docs/architecture.md | 2 +- docs/workflows.md | 4 ++-- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 533e9635..9a4945ac 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ A framework for building convergent cross-platform Nextcloud clients using Flutt The Neon project has three main goals: -1. The [Neon framwork](packages/neon/neon/) does the heavy lifting for Nextcloud client developers. Neon already handles the authentication flow and manages data requests and caching. This means that developers can reuse a lot of the code and do not need to reinvent the wheel. -2. The [Neon app](packages/app/) is a cross platform Nextcloud client that runs on iOS, Android, macOS, Windows, Linux and Web. We already support Android and Linux with the other platforms being work in progress. -3. The [Neon app](packages/app/) is a multi client app. This means that you can have multiple clients in the same mobile app. It enables seamless switching between multiple apps as Nextcloud users have enjoyed on the web forever. +1. The [Neon framework](packages/neon/neon) does the heavy lifting for Nextcloud client developers. Neon already handles the authentication flow and manages data requests and caching. This means that developers can reuse a lot of the code and do not need to reinvent the wheel. +2. The [Neon app](packages/app) is a cross-platform Nextcloud client that runs on iOS, Android, macOS, Windows, Linux and Web. We already support Android and Linux with the other platforms being work in progress. +3. The [Neon app](packages/app) is a multi client app. This means that you can have multiple clients in the same mobile app. It enables seamless switching between multiple apps as Nextcloud users have enjoyed on the web forever. ### Current problems with other clients @@ -20,19 +20,19 @@ The Neon project has three main goals: ### How Neon as a framework tries to solve them -The Neon project uses [Dart](https://dart.dev/) and [Flutter](https://flutter.dev/) to help mobile client developers building apps. Flutter allows us to build convergent cross platform clients that feel native. -We are a 100% FOSS framework and do not rely on any proprietary libraries making it easy for developers to publish thier apps in places like the [F-Droid](https://f-droid.org/) store. -We provide a generated [Nextcloud Dart client](packages/nextcloud/) that is generated from the new OpenAPI specifications shipped with Nextcloud and is already being used by other Dart and Flutter projects. Gone are the days of looking at the PHP code and implementing an API client by hand wich can be time consuming and very error prone. +The Neon project uses [Dart](https://dart.dev/) and [Flutter](https://flutter.dev/) to help mobile client developers building apps. Flutter allows us to build convergent cross-platform clients that feel native. +We are a 100% FOSS framework and do not rely on any proprietary libraries making it easy for developers to publish their apps in places like the [F-Droid](https://f-droid.org/) store. +We provide a generated [Nextcloud Dart client](packages/nextcloud) that is generated from the new OpenAPI specifications shipped with Nextcloud and is already being used by other Dart and Flutter projects. Gone are the days of looking at the PHP code and implementing an API client by hand wich can be time-consuming and very error-prone. We provide abstractions, common utilities and prebuilt UI components (called Widgets in Flutter) that can be re-used. This allows Neon to make developing a new Nextcloud client as easy as adding a few custom UI elements and the necessary state management, while everything else is already taken care of for you. ## Contributing We encourage every client developer to contribute their app implementation back into Neon. -This way we app developers can choose from a large set of clients to enable. +This way the app developers can choose from a large set of clients to enable. Check out our [contributing docs](CONTRIBUTING.md) to get started with developing with Neon. -We have a lot of [documentation](./docs) from helping you setup your development environment to our guidelines. +We have a lot of [documentation](docs) from helping you set up your development environment to our guidelines. Please make sure to read them before starting to contribute. ## Development and support @@ -47,20 +47,20 @@ See [here](packages/app/README.md) for screenshots. - :construction: Work in progress - :rocket: Planned -| App | Status | -|-----------------------------------------------|--------------------| -| [Files](packages/neon/neon_files/README.md) | :heavy_check_mark: | -| [News](packages/neon/neon_news/README.md) | :heavy_check_mark: | -| [Notes](packages/neon/neon_notes/README.md) | :heavy_check_mark: | -| Notifications | :heavy_check_mark: | -| Activity | :rocket: | -| Calendar | :rocket: | -| Contacts | :rocket: | -| Cookbook | :rocket: | -| Dashboard | :rocket: | -| Photos | :rocket: | -| Talk | :rocket: | -| Tasks | :rocket: | +| App | Status | +|---------------------------------------------------|--------------------| +| [Files](packages/neon/neon_files) | :heavy_check_mark: | +| [News](packages/neon/neon_news) | :heavy_check_mark: | +| [Notes](packages/neon/neon_notes) | :heavy_check_mark: | +| [Notifications](packages/neon/neon_notifications) | :heavy_check_mark: | +| Activity | :rocket: | +| Calendar | :rocket: | +| Contacts | :rocket: | +| Cookbook | :rocket: | +| Dashboard | :rocket: | +| Photos | :rocket: | +| Talk | :rocket: | +| Tasks | :rocket: | ## Platform support diff --git a/docs/README.md b/docs/README.md index b4201d4c..bc3dab89 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,7 +2,7 @@ ## Terminology There can be a lot of confusion what an `app` is. It can mean a server app conventionally written in PHP, the app implementation of one or a mobile app built with Neon. -Therefore we use the following naming: +We try to use the following naming: - **App** as the resulting user facing app that enables one or more clients - **Client** for the implementation of a server PHP app - **API-Client** as the Dart client generated from the OpenAPI specifications @@ -22,4 +22,4 @@ Check out our little [overview](architecture.md) of how the Neon project is buil ## [Login user flow](login.md) ## [Neon workflows](workflows.md) -We have documented various workflows for working with the mono repo structure like adding a new package. \ No newline at end of file +We have documented various workflows for working with the mono repo structure like adding a new package. diff --git a/docs/architecture.md b/docs/architecture.md index f040dee9..f33e8a00 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -5,6 +5,6 @@ The Neon project consists of multiple packages: - The `nextcloud` package provides implementations for multiple server APIs. These are generated with the `dynamite` generator utilizing the OpenAPI specifications shipping since Nextcloud Hub 6. - Plugins are special clients that are deeper implemented into the framework and need to be closely coupled with it. -- The individual clients are implemented as separate packages. These depend on the Neon framework and implement a few common interfaces so they can be used together in apps. +- The individual clients are implemented as separate packages. These depend on the Neon framework and implement a few common interfaces, so they can be used together in apps. - The main star is the `neon` package that provides common UI components (Widgets) and functionality that is useful for building Nextcloud apps. It also manages the global state at runtime so clients do not have to manage multiple accounts, data fetching or caching. - On top of all that sits the app package that injects a set of selected clients into the framework. It is possible to configure which one should be included and add custom styling and branding to it. diff --git a/docs/workflows.md b/docs/workflows.md index b398aabf..ff1a8576 100644 --- a/docs/workflows.md +++ b/docs/workflows.md @@ -2,9 +2,9 @@ ## Adding a new package to the Neon project -If you need to add a new package to the Neon project pleae make sure to execute all the following steps: +If you need to add a new package to the Neon project please make sure to execute all the following steps: 1. Use the according template by running `fvm dart create -t package package_name` or `fvm flutter create -t package package_name`. 2. Make sure to activate our strict linting by adding it to the package. 3. Regenerate the dependency overrides by executing `melos bootstrap`. 4. Add a Symlink to our main [license](../LICENSE). -5. Update [commitlint.yaml](../commitlint.yaml) and [tool/build-app.sh](../tool/build-app.sh) by adding the new package name. \ No newline at end of file +5. Update [commitlint.yaml](../commitlint.yaml) and [tool/build-app.sh](../tool/build-app.sh) by adding the new package name.