Scenic Rides is a mobile guidebook for scenic bus routes in the North East of England. It's a React Native project for iOS and Android mobile devices.
Update (2024-01-19): The write-up for this dissertation project in now published on my personal blog.
Before running the project, you must have the core dependencies installed. This includes Node.js and an emulator (such as Xcode or Android Studio). npm install
is required before first-run.
To start a development environment run the following commands:
- Android:
npm run android
- iOS:
npm run ios
The development app can be access through an emulator or the Expo Go mobile app.
Use the following command to run Jest unit tests:
- Testing:
npm test
Documentation on the Expo build process is located here: https://docs.expo.dev/build/setup/
-
Install the EAS CLI:
npm install -g eas-cli
-
Login to an Expo account:
eas login
-
Configure the build:
eas build:configure
-
Run a build:
eas build --platform all
-
Android only:
eas build --platform android
-
iOS only:
eas build --platform ios
(Note: this requires a paid Apple Developer account to complete)
-
-
Deploy or run locally on an emulator.
- Run the build on an Android emulator:
eas build:run -p android
- Run the build on an Android emulator:
$ ROOT
│ # Application entrypoint
├── App.tsx
│
│ # Source code files
├── src
│ │ # Assets compiled into the application
│ ├── assets
│ │ # Reusable React components
│ ├── components
│ │ # Application data store
│ ├── data
│ │ # Application screens (pages)
│ ├── screens
│ │ # Helper functions
│ └── util
│
│ # Configuration files
├── .prettierrc.js
├── app.json
├── babel.config.js
├── package.json
└── tsconfig.json
/**
* Last modified: XX-XX-XXXX
* Modifying author: ...
* File description: ...
*/
Open source software used in the production of this application:
- React Native, MIT Licence, Website, GitHub
- Expo, MIT Licence, Website, GitHub
- Native Base, MIT Licence, Website, GitHub
- React Navigation, MIT Licence, Website, GitHub
- Jest, MIT Licence, Website, GitHub
The following accreditations represent a complete list of sources and tools that were used for production of content (text, images, maps, data points) for this application:
- Go North East - AD122 - Route information and an image of the AD122 bus.
- Go North East - AD122 Timetable - For timetable information on the bus route.
- Google My Maps - For plotting and visualisation of data points, as well as static map images for attractions.
- Canva - For design of application graphics.
- Northern Rail - For information on Hexham and Haltwhistle train stations.
- The Hadrian Hotel - Information on The Hadrian Hotel.
- George Hotel - Information on the George Hotel.
- Herding Hill Farm - Information on the Herding Hill Farm campsite.
- Greenhead Hotel - Information on the Greenhead Hotel.
- Hexham Abbey - Information and images of Hexham Abbey.
- English Heritage - Information and images on the following attractions: Chesters Bridge, Brunton Turret, Planetrees Roman Wall, Chesters Roman Fort, Temple of Mithras, Housesteads Roman Fort, Cawfields, and Milecastle 42.
- The Sill - Information and images of The Sill Museum.
- Vindolanda - Information and images of Vindolanda and the Roman Army Museum.
- Roman Britain - Information and images of Cawfields.
- Roman Army Museum - Information and images of the Roman Army Museum.
- Northumberland National Park - Information and images of Thirlwall Castle.