Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update EAS.config #215

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
78bd05b
Pavi ticket 324
Jul 20, 2023
ce07990
Added versions to the api
Jul 25, 2023
4319b10
Changed to address test fail
Jul 25, 2023
6159160
App to implement latest version
Jul 27, 2023
60c1a97
Example env update
Jul 27, 2023
02577ce
Updates for readme and removed redundant code
Jul 28, 2023
b4c401d
Added Git Flow instructions (#189)
DougieWougie Jul 30, 2023
af13f15
Feature/SVA-354-my-experience-profile-screen (#186)
DJMF2015 Jul 31, 2023
99d8996
add logic to handle toggling of button state and to hide skip button …
DJMF2015 Aug 3, 2023
12406f2
SVA-390 | Add to AirTable when someone registers interest in a projec…
joefhall Aug 3, 2023
9ace9a2
update APP_DEVELOPMENTreadme and added screenshots to assets
DJMF2015 Aug 3, 2023
e7838ac
fix: search container re-added ChoicesList props
PammyLo Aug 3, 2023
1612a09
SVA-382 | Fix API tunnelling bug on some Windows machines (#185)
joefhall Jul 3, 2023
1ea2fc4
SVA-390 | Add to AirTable when someone registers interest in a projec…
joefhall Aug 3, 2023
077c0a7
Update API version number
joefhall Aug 4, 2023
6645574
Merge pull request #195 from Scottish-Tech-Army/feature/fix-search-co…
PammyLo Aug 4, 2023
6a5e989
Merge branch 'release/mvp-0.1'
joefhall Aug 5, 2023
96cb5be
Merge tag 'mvp-0.1' into develop
joefhall Aug 5, 2023
790ce81
Merge branch 'develop' of github.com:Scottish-Tech-Army/Volunteer-app…
joefhall Aug 5, 2023
e34a89e
comment out progress bar and changed button label text
DJMF2015 Aug 14, 2023
fe58262
updated with amendments to component descriptions
DJMF2015 Aug 14, 2023
a11d89a
moved images to screenshots folder
DJMF2015 Sep 1, 2023
002f052
Revert "moved images to screenshots folder"
DJMF2015 Sep 1, 2023
4867f9b
moved images to screenshots folder
DJMF2015 Sep 1, 2023
80b70bb
Merge pull request #194 from Scottish-Tech-Army/feature/sva-354-my-ex…
DJMF2015 Sep 4, 2023
cffa97a
Merge branch 'develop' of https://github.com/Scottish-Tech-Army/Volun…
Sep 6, 2023
1e208c7
Merge branch 'develop' of https://github.com/Scottish-Tech-Army/Volun…
Sep 6, 2023
fdfd18b
Merge branch 'Pavi_SVA_324' of https://github.com/Scottish-Tech-Army/…
Sep 7, 2023
9922b5d
Merge branch 'Pavi_SVA_324' of https://github.com/Scottish-Tech-Army/…
Sep 7, 2023
4406a55
Merge branch 'Pavi_SVA_324' of https://github.com/Scottish-Tech-Army/…
Sep 14, 2023
d5c8fa0
Merge pull request #188 from Scottish-Tech-Army/Pavi_SVA_324
pavithiranShanmugakani Sep 15, 2023
2d241e5
update theme components and margins
PammyLo Sep 29, 2023
da03091
Merge pull request #197 from Scottish-Tech-Army/feature/SVA-387-stand…
PammyLo Oct 4, 2023
7c910e6
First pass at auth api
roryf Oct 16, 2023
2f48036
Adds logic and tests for new user
roryf Oct 16, 2023
5711c9b
Verify email after successful login
roryf Oct 18, 2023
13dbb39
Adds tests and input validation for refresh auth
roryf Oct 18, 2023
ca1d9a8
Adds tests and input validation to logout
roryf Oct 18, 2023
c29c397
Merge pull request #200 from Scottish-Tech-Army/sva-403-auth-api
roryf Oct 25, 2023
bba0ac2
SVA-409 Adds authentication services to app (#203)
roryf Oct 27, 2023
8ee7c76
Move app directory to root, delete api (#204)
roryf Nov 8, 2023
c4374a5
update to sdk49 and fix dependencies
PammyLo Feb 16, 2024
1e9321a
chore: update to sdk49 and fix dependencies
PammyLo Feb 16, 2024
99f2ecc
Merge branch 'main' into feature/update-to-SDK-49.0.0
PammyLo Feb 18, 2024
70cdef1
Merge pull request #209 from Scottish-Tech-Army/feature/update-to-SDK…
PammyLo Feb 19, 2024
06d66e0
feat: create login screen with redirect action - behind feature flag
PammyLo Feb 24, 2024
8acaa97
fix dark mode field label
PammyLo Feb 24, 2024
f6518c5
fix: test
PammyLo Feb 25, 2024
04fcc05
Merge pull request #210 from Scottish-Tech-Army/feature/SVA-426-Creat…
PammyLo Feb 28, 2024
2a9b1dd
Initial commit
CatMac228 Apr 3, 2024
d0b7de5
login button added
mirkiy Apr 26, 2024
9f872bf
toggle log in/log out button
mirkiy Apr 26, 2024
21cd378
work on settings screen in progress
mirkiy May 2, 2024
d8fba8c
login button and logout button with useAuth hook, styling
mirkiy May 22, 2024
f060113
fixed color, spacing, featureFlags for login
mirkiy Jun 4, 2024
434cb94
login button moved out from scrolView, margin styling fixed, expo fol…
mirkiy Jun 12, 2024
b7f8e00
additional styling changes for featureFlags button, removed commented…
mirkiy Jun 13, 2024
0a30d24
additional margins to accomodate design
mirkiy Jun 13, 2024
334c3a1
border colour added to the logout button
mirkiy Jun 14, 2024
352f516
chore: add TODO comment to emove this in future
PammyLo Jun 14, 2024
92e9f01
@file information added back
mirkiy Jun 14, 2024
6730e81
bump app version number
PammyLo Jun 16, 2024
3474d69
Merge pull request #211 from Scottish-Tech-Army/SVA-422/ignoreDeviceT…
PammyLo Jun 16, 2024
a848738
margin fixed
mirkiy Jun 18, 2024
5a26a14
Merge pull request #212 from Scottish-Tech-Army/SVA-427-login-logout-…
PammyLo Jul 11, 2024
c7b24f5
chore: version bump
PammyLo Jul 11, 2024
4f616e6
Update to eas.json config
CatMac228 Sep 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
EXPO_APPLICATION_SERVICES_PROJECT_ID=""

STA_API_BASE_URL=""
STA_API_VERSION="v1"
STA_API_KEY=""

FEATURES_ENABLED=events,profileScreen
8 changes: 0 additions & 8 deletions .expo/README.md

This file was deleted.

3 changes: 0 additions & 3 deletions .expo/devices.json

This file was deleted.

3 changes: 0 additions & 3 deletions .expo/settings.json

This file was deleted.

2 changes: 2 additions & 0 deletions DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ There are also settings in the main Expo config file `app.config.ts` -- look for

> If you aren't already logged into Expo Application Services (EAS), you'll be asked to login. Ask another team member for the STA's Expo Application Services login details.

> If you get a message saying _EAS project not configured. Existing EAS project found for @scottishtecharmy/volunteer-app Configure this project?_ Stop the build process. You need to add `EXPO_APPLICATION_SERVICES_PROJECT_ID` to your `.env` file. Ask another team member for the value of this variable.

> If you get an error saying `Error reading Expo config ... Cannot find module 'dotenv/config'` you may need to reinstall the `dotenv` package. In the `app` directory run `npx expo install dotenv` (if that doesn't fix it try `npm install dotenv`) (If you get warnings, but not errors, when reinstalling this package - don't worry.)

> Builds can take some time (sometimes 10-20 minutes, sometimes more than an hour, depending on how busy EAS servers are), but you can check the exact status of a build and the different steps that are taking place in the Expo Application Services dashboard -- follow the URL you'll see in your terminal after you run one of the build commands below (ask another team member for the Expo Application Services login details). You can also see there if there are any errors.
Expand Down
71 changes: 71 additions & 0 deletions GITFLOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Git Flow
The team uses Git Flow to to develop the application and it's API. For more detail, have a look at Atlassian's [Git Flow documentation](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) or for a good synopsis [Daniel Kummer's cheatsheat](https://danielkummer.github.io/git-flow-cheatsheet/)

## Installing

### Mac
`brew install git-flow-avh`

### Linux
`apt-get install git-flow-avh`

### Windows
Git for Windows has supported Git Flow from version 2.5.3

## Overview
Git Flow uses two permanent branches - main and develop:
- main is production
- develop is the working branch

There are some other, temporary, branches:
- hotfix for security patches
- feature to add functionality
- release where we decide which features to release

Most of the time you'll be creating feature branches, having them reviewed, and merging into develop.

## This is complicated why am I doing this?
Some features are not ready for production but are needed to develop other functions. For example login screens are needed to develop and test login logic but we don't want them in production yet.

Git Flow gives us the flexibility to continue developing as a team but picking and choosing which features hit production.

## Right I'm convinced so how do I do it?
Whatever you're doing the sequence is the same - start and push. Remember to replace JIRA-TICKET with the JIRA ticket you're working on, or a descriptive name if its not in Jira for whatever reason.

## Switching to Git Flow
*** You must complete this step ***
After cloning the repository or from your existing local repository enter `git flow init`. This asks a series of questions, accept all the default values, and configures your local `.gitconfig` file. This file is not uploaded to GitHub so only affects local installs.

You only need to complete this step the first time you clone a repository or when you first start using Git Flow in a project. You will have to do it for each computer you work on, unless you have some funky home directory syncing going on.

### Create a new feature
1. `git flow feature start SVA-999-my-jira-ticket` (where 999 is your ticket number) creates a new `feature` branch from `develop` and switches to it.
2. Once you're done then `git flow feature publish`.
3. Create a pull request as usual, which still requires two reviewers, what has changed is that we're now merging with `develop` and not `main`.
4. Once your PR is merged `git flow feature finish` will ensure that your feature is merged with your local `develop` branch and removes the `feature` branch.

### Bugfix
The process is the same, except the command changes from feature to hotfix `git flow bugfix start bug_number`
1. `git flow bugfix start bug_number` creates a new `feature` branch from `develop` and switches to it.
2. Once you're done then `git flow bugfix publish`.
3. Create a pull request as usual, which still requires two reviewers, this will merge to `main` and `develop`.
4. Once your PR is merged `git flow bugfix finish` will ensure that your feature is merged with `main` and `develop`, then removes the `bugfix` branch.

### Release
The process is the same, except the command changes from feature to hotfix `git flow bugfix start bug_number`
1. `git flow release start mvp-X` (where X is the MVP number) creates a new `feature` branch from `develop` and switches to it.
2. Once you're done then `git flow release publish`.
3. Create a pull request as usual, which still requires two reviewers, this will merge to `main`.
4. Once your PR is merged `git flow release finish` will ensure that your feature is merged with `main` then removes the `release` branch.

## Caveat
When merging remember to squash and merge, especially on main, to make it clear what feature was merged.

Ensure when creating or reviewing PR that the branches are as you expect:
- `feature` merge to `develop`
- `bugfix` merge to `main` and `develop`
- `release` merge to `main` and `develop`

If in doubt reach out to the team on the Slack #volunteer-app channel!

*** This is new and you aren't expected to know it, we expect questions! ***
28 changes: 17 additions & 11 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
- [Type of change](#type-of-change)
- [Testing locally](#testing-locally)
- [Checklist](#checklist)
- [Deployment](#deployment)

# Description

- Please include a summary of the change and which issue is fixed.
- List any dependencies that are required for this change.

Fixes # (issue number)
Fixes # [SVA issue number]

## Type of change

Expand All @@ -26,15 +27,20 @@ Please delete options that are not relevant

# Checklist

- [] My code follows the style guidelines of this project
- [] I have performed a self-review of my own code
- [] I have commented my code, particularly in hard-to-understand areas
- [] I have removed any unnecessary comments or console logging
- [] I have made corresponding changes to the documentation (if required)
- [] I have addressed accessibility, if needed
- [] I have followed best practices, e.g. NativeBase approaches and theming
- [] I have checked the app in dark mode, if making front-end design changes
- [] My changes generate no new warnings
- [] I have added tests that prove my fix is effective or that my feature works
- [] I have performed a self-review of my own code
- [] I have added JSDocs where required and commented my code in hard-to-understand areas
- [] My code does not contain any unnecessary console logging
- [] I have made changes to the documentation if required / My code doesn't need documentation updates
- [] I have added tests that prove my code is effective or that my feature works
- [] New and existing unit tests pass locally with my changes
- [] I have updated the version numbers in `package.json` files in the [app](DEPLOYMENT.md#app-deployment) and/or [api](DEPLOYMENT.md#api-deployment-on-aws) directories as needed

If making front-end design changes:

- [] I have followed best accessibility practices
- [] I have followed best practices for this project, e.g. NativeBase approaches and theming
- [] I have checked the app in dark mode

# Deployment

If you want to deploy these changes, follow the steps in [DEPLOYMENT.md](https://github.com/Scottish-Tech-Army/Volunteer-app/blob/main/DEPLOYMENT.md)
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ If you're using Visual Studio Code for development, it's recommended that you:
- Install the [Prettier extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- [Enable formatting on save](https://scottsauber.com/2017/06/10/prettier-format-on-save-never-worry-about-formatting-javascript-again/). Combined with ESLint and Prettier, this takes care of some code style issues such as formatting, indentation and semicolon consistency for you automatically.

## Git Flow

**_ Make sure that you are familiar with Git Flow before starting! _**

The Team use Git Flow to manage development and release versions, follow the [Git Flow setup steps first](GITFLOW.md).

# Setup and first run

1. Ensure that you've gone through the setup instructions above
Expand All @@ -94,19 +100,25 @@ If you're using Visual Studio Code for development, it's recommended that you:

> Using SSH do `git clone [email protected]:Scottish-Tech-Army/Volunteer-app.git` or using https do `git clone https://github.com/Scottish-Tech-Army/Volunteer-app.git`

3. Follow the instructions in [`Volunteer-api`](https://github.com/Scottish-Tech-Army/Volunteer-api) repo to run the api locally
3. Open your terminal and in the new `Volunteer-app` directory type `git flow init` to initialise Git Flow (see [Git Flow](GITFLOW.md)).

4. Follow the instructions in [`Volunteer-api`](https://github.com/Scottish-Tech-Army/Volunteer-api) repo to run the api locally

5. At the command prompt type `npx expo install`

4. At the command prompt type `npx expo install`
> Inside the `app` folder there are files `package.json` and `package-lock.json`. **Every time either of these is modified, it is advised to repeat this step before running the project.**

> Each time you pull from GitHub it is best to run this step in case `package.json` changed
> **If you get _warnings_ about installing dependencies** you probably don't worry about these

> **If you get _warnings_ about installing dependencies** you probably don't worry about these, but do raise them as they indicate possible compatibility issues in dependencies
> **If you get _errors_ about installing dependencies** try running `npx expo install` and then `npm install --legacy-peer-deps` or `npm install --force`.

> **If you get _errors_ about installing dependencies** try running `npx expo install` again then ask for help in slack
6. Copy the `.env.example` file in the api root folder and name your new file `.env` in the same folder -- e.g. using the command `cp .env.example .env` Set the value of `STA_API_BASE_URL` to the tunnelled URL of your local API server (the one you made a note of in step 8 above).

5. Copy the `.env.example` file in the api root folder and name your new file `.env` in the same folder -- e.g. using the command `cp .env.example .env` Set the value of `STA_API_BASE_URL` to the tunnelled URL of your local API server (the one you made a note of in step 8 above).
7. Ask on Slack for a member of the team to send you the value to use for `EXPO_APPLICATION_SERVICES_PROJECT_ID`.

6. Run Expo using `npm start` This will run some commands and then it show you a QR code in your terminal.
> For security reasons, the `EXPO_APPLICATION_SERVICES_PROJECT_ID` value is not stored in this repo.

8. Run Expo using `npm start` This will run some commands and then it show you a QR code in your terminal.

> You may get an automatic prompt to install `@expo/ngrok` or another package -- if so, type `y` to install it.

Expand Down Expand Up @@ -144,6 +156,8 @@ Below are some commonly encountered issues and possible ways to resolve them. If

> Make sure the API is running on your local machine, and that your **.env** files are configured correctly (see [Setup and first run](#setup-and-first-run) above)

> Make sure the API is running on your local machine, and that your **.env** files are configured correctly (see [Setup and first run](#setup-and-first-run) above)

> Check the values for both `API_TUNNEL_SUBDOMAIN` and `STA_API_BASE_URL`. `STA_API_BASE_URL` should be prefixed with `https://`. `API_TUNNEL_SUBDOMAIN` should _not_ be prefixed with `https://` and should _only_ include the URL up to but **not** including `.loca.lt`.

- STA_API_BASE_URL="https://nadia-bloggs-abc123def456ghi789.loca.lt"
Expand Down Expand Up @@ -176,8 +190,6 @@ Below are some commonly encountered issues and possible ways to resolve them. If

2. In a third terminal window, enter `npm start` to run Expo

3. Connect your phone to your local development version of the app in Expo Go:

- **iPhone:** open the camera and scan the QR code, this should open up the app in Expo Go
- **Android:** open the Expo Go app itself and you can scan the QR code
> If you find you're not seeing changes on your phone or Expo Go loses the connection, [see tips here.](APP_DEVELOPMENT.md#expo-known-issues)
Expand Down
4 changes: 3 additions & 1 deletion app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ module.exports = {
apiKey: process.env.BUGSNAG_API_KEY,
},
eas: {
projectId: '9cd93ab4-ee33-43d1-a995-e4f8531553e2',
projectId:
process.env.EXPO_APPLICATION_SERVICES_PROJECT_ID ??
'9cd93ab4-ee33-43d1-a995-e4f8531553e2',
},
},
hooks: {
Expand Down
22 changes: 10 additions & 12 deletions eas.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
{
"cli": {
"appVersionSource": "remote",
"version": ">= 3.13.3"
"version": ">= 5.9.3",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"distribution": "store",
"autoIncrement": true
}
},
"submit": {
"production": {
"android": {
"track": "internal"
},
"ios": {
"ascAppId": "1632619020",
"appleTeamId": "48N3J4V5KM"
}
}
"production": {}
}
}
Loading
Loading