Compare commits

...

2 Commits

Author SHA1 Message Date
Lee 53ecbfd4f5 refactor: updated READMEs
Co-authored-by: Sebastian Palmqvist <PalmN72@users.noreply.github.com>
2023-11-07 13:38:54 +01:00
Lee 6896dabed4 added missing module
Co-authored-by: Sebastian Palmqvist <PalmN72@users.noreply.github.com>
2023-11-07 13:34:19 +01:00
7 changed files with 61 additions and 30 deletions

View File

@ -8,10 +8,14 @@ Give us a ⭐ if you appreciate what we do!
[![Translation status](https://hosted.weblate.org/widgets/skolplattformen/-/svg-badge.svg)](https://hosted.weblate.org/engage/skolplattformen/)
[![Build Status](https://app.bitrise.io/app/8e56bd02bc602da5/status.svg?token=h8gI2dB_jXLurj9EO_fXWw)](https://app.bitrise.io/app/8e56bd02bc602da5)
We are parents who got fed up with Skolplattformen, the City of Stockholm's school administration platform. \ We reverse-engineered the platform's API to create a simpler, faster, more consistent, and secure experience for parents and guardians. If you're simply looking for information about the app, our website can be found at [https://skolplattformen.org/](https://skolplattformen.org/). \
We are parents who got fed up with Skolplattformen, the City of Stockholm's school administration platform.
We reverse-engineered the platform's API to create a simpler, faster, more consistent, and secure experience for parents and guardians. If you're simply looking for information about the app, our website can be found at [https://skolplattformen.org/](https://skolplattformen.org/).
Check out [the changelog](CHANGELOG.md) to see what new features are added, and a list of fixed bugs.
This main repository for the project contains the source code for both the [app](apps/skolplattformen-app) and its [website](https://skolplattformen.org/). \
This main repository for the project contains the source code for both the [app](apps/skolplattformen-app) and its [website](https://skolplattformen.org/).
The sources for each can be found under [apps](apps) and [libs](libs).
The respective README files there contain more detailed descriptions.
@ -48,17 +52,17 @@ The project consists of several apps and libraries inside [a NX](https://nx.dev/
### Apps
/apps/ contains the application projects. This is the main entry point for a runnable application.
#### skolplattformen
#### Skolplattformen
The central part of the project is the app itself. It is written in [TypeScript](https://www.typescriptlang.org/) using [React Native](https://reactnative.dev/) and [React Native Kitten](https://akveo.github.io/react-native-ui-kitten/).
Our main goal with the app is to make it as fast and easy to use as possible. \
Our main goal with the app is to make it as fast and easy to use as possible.
We're starting small, with more features being added over time.
For more information, check out the [source code](apps/skolplattformen-app).
#### website
#### Website
The code for the website at https://skolplattformen.org/. It's built using Next.js.
@ -108,7 +112,7 @@ $ git clone https://github.com/kolplattformen/skolplattformen.git
Install dependencies
```bash
cd skolplattformen && yarn
cd skolplattformen/apps/skolplattformen-app && yarn
```
### iOS
@ -117,7 +121,7 @@ If you wanna run the iOS app, you need to setup a couple of things first, we hav
* [Mac OS](/docs/ios_mac.md)
If you already setup everything, you just need to run the following command in the project root:
If you already setup everything, you just need to run the following command in the **skolplattformen-app** folder:
Start the iOS app
```
@ -132,7 +136,7 @@ If you wanna run the Android app, you need to setup a couple of things first, we
* [Windows](/docs/android_windows.md)
* [Linux](/docs/android_linux.md)
If you already setup everything, you just need to run the following command in the project root:
If you already setup everything, you just need to run the following command in the **skolplattformen-app** folder:
```
yarn run android
@ -146,7 +150,7 @@ Documentation coming soon.
Run all tests
```
yarn run test
cd skolplattformen/apps/skolplattformen-app && yarn run test
```
Run a specific test
@ -190,6 +194,9 @@ If you're offended by this initiative, rest assured there is no reason to be —
- [Karin Nygårds (artwork)](https://github.com/grishund)
- [Jonathan Edenström](https://github.com/edenstrom)
- [Emil Hellman](https://github.com/archevel)
- [Lee Sheppard](https://github.com/coolusername244)
- [Sebastian Palmqvist](https://github.com/palmn72)
- [Lvan Ni](https://github.com/lvan-ni)
- You?
## License

View File

@ -8,7 +8,7 @@ Have a look at the [overall readme](../../) for general instructions on getting
### Prerequisites
We use `yarn` as our package manager. To install it, run `sudo npm install -g yarn`. All the commands described here should be run from the `packages/app` directory.
We use `yarn` as our package manager. To install it, run `sudo npm install -g yarn`. All the commands described here should be run from the `apps/skolplattformen-app` directory.
### iOS
@ -35,6 +35,16 @@ in the root of the app.
$ yarn ios
```
If you receive an error regarding not being able to find the app scheme:
- Open the app in xcode
- Product -> scheme -> manage scheme
- App should be ticked with the value of 'app project'
- Change 'app project' to something else from its drop down and back again
- Close
Then run yarn ios again
### Android
Android development requires that you have [Android Studio](https://developer.android.com/studio) and relevant build tools installed.

View File

@ -39,6 +39,7 @@
"personnummer": "^3.2.1",
"react": "18.2.0",
"react-native": "0.72.5",
"react-native-animatable": "^1.4.0",
"react-native-calendar-events": "^2.2.0",
"react-native-dev-menu": "^4.1.1",
"react-native-device-info": "^10.11.0",
@ -14670,6 +14671,14 @@
"react": "18.2.0"
}
},
"node_modules/react-native-animatable": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.4.0.tgz",
"integrity": "sha512-DZwaDVWm2NBvBxf7I0wXKXLKb/TxDnkV53sWhCvei1pRyTX3MVFpkvdYBknNBqPrxYuAIlPxEp7gJOidIauUkw==",
"dependencies": {
"prop-types": "^15.8.1"
}
},
"node_modules/react-native-calendar-events": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/react-native-calendar-events/-/react-native-calendar-events-2.2.0.tgz",

View File

@ -42,6 +42,7 @@
"personnummer": "^3.2.1",
"react": "18.2.0",
"react-native": "0.72.5",
"react-native-animatable": "^1.4.0",
"react-native-calendar-events": "^2.2.0",
"react-native-dev-menu": "^4.1.1",
"react-native-device-info": "^10.11.0",

View File

@ -6964,6 +6964,13 @@ react-is@^18.2.0:
resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
react-native-animatable@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.4.0.tgz"
integrity sha512-DZwaDVWm2NBvBxf7I0wXKXLKb/TxDnkV53sWhCvei1pRyTX3MVFpkvdYBknNBqPrxYuAIlPxEp7gJOidIauUkw==
dependencies:
prop-types "^15.8.1"
react-native-calendar-events@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/react-native-calendar-events/-/react-native-calendar-events-2.2.0.tgz"

View File

@ -15,7 +15,7 @@ brew install node
brew install watchman
```
If you have already installed Node on your system, make sure it is Node 12 or newer.
If you have already installed Node on your system, make sure it is Node 18 or newer.
[Watchman](https://facebook.github.io/watchman) is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.
@ -24,10 +24,10 @@ If you have already installed Node on your system, make sure it is Node 12 or ne
We recommend installing JDK using [Homebrew](http://brew.sh/). Run the following commands in a Terminal after installing Homebrew:
```shell
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
```
If you have already installed JDK on your system, make sure it is JDK 8 or newer.
If you have already installed JDK on your system, make sure it is JDK 11 or newer.
### Android development environment
@ -49,7 +49,7 @@ Once setup has finalized and you're presented with the Welcome screen, proceed t
#### 2. Install the Android SDK
Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the `Android 10 (Q)` SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.
Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the `Android 13` SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.
To do that, open Android Studio, click on "Configure" button and select "SDK Manager".
@ -57,22 +57,19 @@ To do that, open Android Studio, click on "Configure" button and select "SDK Man
> The SDK Manager can also be found within the Android Studio "Preferences" dialog, under **Appearance & Behavior****System Settings****Android SDK**.
Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the `Android 10 (Q)` entry, then make sure the following items are checked:
Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the `Android 13` entry, then make sure the following items are checked:
- `Android SDK Platform 29`
- `Intel x86 Atom_64 System Image` or `Google APIs Intel x86 Atom System Image`
- `Android SDK Platform 34`
- If you have a Mac M-Chip
- `ARM x86 Atom_64 System Image` &nbsp; or &nbsp;&nbsp;`Google APIs ARM 64 v8a System Image`
Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that `29.0.2` is selected and check the "Android SDK Command-line Tools (latest)".
- If you have a Mac Intel-Chip pick either
- `Intel x86 Atom_64 System Image` &nbsp; or &nbsp;&nbsp; `Google APIs Intel x86 Atom System Image`
Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that `34` is selected and check the "Android SDK Command-line Tools (latest)".
Finally, click "Apply" to download and install the Android SDK and related build tools.
You can also run the following command after setting ANDROID_HOME.
```shell
sdkmanager "platforms;android-29" "system-images;android-29;default;x86_64" "system-images;android-29;google_apis;x86"
sdkmanager "cmdline-tools;latest" "build-tools;29.0.2"
```
#### 3. Configure the ANDROID_HOME environment variable
The React Native tools require some environment variables to be set up in order to build apps with native code.
@ -109,13 +106,13 @@ If you use Android Studio to open `./apps/skolplattformen-app/android`, you can
![Android Studio AVD Manager](/docs/assets/avd_icon.png)
If you have recently installed Android Studio, you will likely need to [create a new AVD](https://developer.android.com/studio/run/managing-avds.html). Select "Create Virtual Device...", then pick any Phone from the list and click "Next", then select the **Q** API Level 29 image.
If you have recently installed Android Studio, you will likely need to [create a new AVD](https://developer.android.com/studio/run/managing-avds.html). Select "Device Manager", then pick any Phone from the list and click "Next", then select the API Level 34 image (Release Name - API 34).
Click "Next" then "Finish" to create your AVD. At this point you should be able to click on the green triangle button next to your AVD to launch it, then proceed to the next step.
## Running the app
Go to the root of the project and run the following command
Go to the **skolplattformen-app** folder and run the following command
```shell
yarn run start:android

View File

@ -15,7 +15,7 @@ brew install node
brew install watchman
```
If you have already installed Node on your system, make sure it is Node 12 or newer.
If you have already installed Node on your system, make sure it is Node 18 or newer.
[Watchman](https://facebook.github.io/watchman) is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.
@ -23,7 +23,7 @@ If you have already installed Node on your system, make sure it is Node 12 or ne
The easiest way to install Xcode is via the [Mac App Store](https://itunes.apple.com/us/app/xcode/id497799835?mt=12). Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.
If you have already installed Xcode on your system, make sure it is version 10 or newer.
If you have already installed Xcode on your system, make sure it is version 14 or newer.
#### Command Line Tools
@ -53,7 +53,7 @@ The above command will automatically run your app on the iOS Simulator by defaul
## Running the app
Go to the root of the project and run the following command
Go to the **apps/skolplattformen-app** folder and run the following command
```shell
yarn run start:ios