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

FR-104 Merge the FlightRecorder business logic, API and UI repositories #24

Merged
merged 176 commits into from
Dec 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
1dd089b
Initial commit
davewalker5 Apr 13, 2020
02777ca
Create README.md
davewalker5 Apr 13, 2020
7f1d387
Update README
davewalker5 Apr 13, 2020
6b921f2
Initial project scaffolding
davewalker5 Apr 13, 2020
dd07610
Create dotnetcore.yml
davewalker5 Apr 13, 2020
2d371d0
Update gitignore
davewalker5 Apr 13, 2020
d78add8
Merge branch 'master' of github.com:davewalker5/FlightRecorder.Api
davewalker5 Apr 13, 2020
a2fa64e
Added manufacturers REST APIs
davewalker5 Apr 13, 2020
7ba4b15
Added locations REST APIs
davewalker5 Apr 13, 2020
bf25326
Added airliness REST APIs
davewalker5 Apr 13, 2020
dfa1c71
Added models REST APIs
davewalker5 Apr 14, 2020
aae5414
Added aircraft REST APIs
davewalker5 Apr 14, 2020
ad6c73f
Return related data with aircraft and models
davewalker5 Apr 14, 2020
e757ef1
Added flight REST APIs
davewalker5 Apr 14, 2020
4911541
Added sightings REST APIs
davewalker5 Apr 14, 2020
985ca37
Added pagination to 'list' APIs
Apr 16, 2020
a4d0a60
Merge pull request #1 from davewalker5/service-todos
davewalker5 Apr 16, 2020
e484c0b
Added docker-related files
Apr 16, 2020
bfd39cf
Initial commit
davewalker5 Apr 16, 2020
822c6a1
Initial project setup
davewalker5 Apr 16, 2020
a905169
Scaffolding with login functionality and location maintenance
Apr 17, 2020
1d9cb79
Added .gitatributes to ensure correct reporting of repo language
Apr 17, 2020
954f547
Added manufacturer maintenance
Apr 17, 2020
b5eb7be
Corrected gitattributes file
Apr 17, 2020
17bbfbb
Added airline maintenance
davewalker5 Apr 18, 2020
3d19abb
Added model maintenance landing page
davewalker5 Apr 18, 2020
0505149
Added model editing
davewalker5 Apr 18, 2020
d796310
Fix page refresh issue after editing a model
davewalker5 Apr 19, 2020
0bfa051
Added the a bility to add new models
davewalker5 Apr 19, 2020
985174e
Aircraft maintenance page : Select manufacturer & model
davewalker5 Apr 19, 2020
cad08d9
Aircraft maintenance page : Show aircraft list
davewalker5 Apr 19, 2020
c309400
Aircraft maintenance : Add ability to filter by registration
Apr 19, 2020
e45c865
Aircraft maintenance : Tidy up filter layout
Apr 19, 2020
c6b2226
Aircraft maintenance - WIP]
Apr 19, 2020
09ce35e
Added the ability to list and edit existing aircraft
Apr 23, 2020
714971a
Added the ability to add new aircraft
Apr 23, 2020
31030aa
Added flight maintenance landing page
Apr 24, 2020
d33a6e2
Added the ability to edit existing flights
Apr 24, 2020
d368637
Added the ability to create new flights
Apr 24, 2020
57ced6e
Added sightings by route search
davewalker5 Apr 25, 2020
5eb898a
Fix page navigation on search results
davewalker5 Apr 25, 2020
0d09bbb
Added sighting search by flight
davewalker5 Apr 25, 2020
d88cc62
Added sighting search by airline
davewalker5 Apr 25, 2020
065d0c0
Fix reporting of no matching search results
davewalker5 Apr 25, 2020
71d1cea
Added sightings search by date range
davewalker5 Apr 25, 2020
dd47885
Completed design for data entry wizard
davewalker5 Apr 25, 2020
3a57404
WIP : Add sighting wizard
davewalker5 Apr 26, 2020
65fdbd9
WIP: Sighting Recording Wizard
davewalker5 May 3, 2020
1a30a41
WIP: Sighting entry wizard
davewalker5 May 3, 2020
e30b50c
WIP: Sightings recording wizard
davewalker5 May 4, 2020
0d4948d
WIP : Add sighting wizard
May 4, 2020
23e965d
Complete new sighting addition wizard
May 4, 2020
1eac9d3
Completed sighting wizard caching implementation
May 4, 2020
ba2acb4
Completed sightings wizard integration test fixes
May 4, 2020
b057e5e
Prepared README for publication
May 5, 2020
566b031
Create dotnetcore.yml
davewalker5 May 5, 2020
159cdaa
Make sure token session key is unique
davewalker5 May 6, 2020
61dfb2c
Merge branch 'master' of github.com:davewalker5/FlightRecorder.Mvc
davewalker5 May 6, 2020
150140c
Added docker files
davewalker5 May 6, 2020
bf96363
Default date and locaiton for data entry speed
davewalker5 Sep 19, 2020
07645c3
Extended logging wizard to edit existing sightings
davewalker5 Sep 19, 2020
c5f6440
Completed editing updates
davewalker5 Sep 19, 2020
1d88006
Fixups following integration testing
davewalker5 Sep 19, 2020
ba2358d
Merge pull request #1 from davewalker5/data-entry-improvements
davewalker5 Sep 19, 2020
4feb9d1
Updated dependencies
davewalker5 Oct 2, 2021
b2b7d17
Merge pull request #3 from davewalker5/update-dependencies
davewalker5 Oct 2, 2021
b42df8d
Updated dependencies
davewalker5 Oct 2, 2021
4f9ddc4
Updated dependencies
davewalker5 Oct 2, 2021
680f6db
Merge pull request #3 from davewalker5/update-dependencies
davewalker5 Oct 2, 2021
3774336
Fixup date entry in sighting addition page
davewalker5 Jan 2, 2022
4a7fe0b
Fixup date entry in sighting addition page
davewalker5 Jan 2, 2022
18af364
Merge pull request #4 from davewalker5/fixup-date-entry
davewalker5 Jan 2, 2022
76879a1
Merge branch 'master' of github.com:davewalker5/FlightRecorder.Mvc
davewalker5 Jan 2, 2022
2d8d53d
Framework and NuGet package updates
davewalker5 May 16, 2022
d6a7e13
Update dotnetcore.yml
davewalker5 May 16, 2022
f3197fd
Merge pull request #4 from davewalker5/nuget-updates
davewalker5 May 16, 2022
c77f55e
Check in updated Docker build file
davewalker5 May 16, 2022
0f6e519
Merge branch 'master' of github.com:davewalker5/FlightRecorder.Api
davewalker5 May 16, 2022
4b4dc76
Updated navigation so entry wizard works with ENTER key
davewalker5 May 16, 2022
e17e8da
Update dotnetcore.yml
davewalker5 May 16, 2022
2113966
Merge pull request #5 from davewalker5/nuget-updates
davewalker5 May 16, 2022
8432c2f
Check in updated Docker build file
davewalker5 May 16, 2022
d6b6685
Update dotnetcore.yml
davewalker5 Sep 16, 2022
64c4e91
SonarCloud fixups
davewalker5 Sep 16, 2022
8061a43
Merge pull request #5 from davewalker5/sonarcloud-fixups
davewalker5 Sep 16, 2022
b36e24c
Dependency updates
davewalker5 Sep 16, 2022
d99fcfd
Merge pull request #6 from davewalker5/dependency-updates
davewalker5 Sep 16, 2022
23ee0b9
Remove Trello link from README!
davewalker5 Apr 10, 2023
75b9777
Remove Trello link from README!
davewalker5 Apr 10, 2023
f6b28e5
Update CI build to target .NET 7
davewalker5 Jun 6, 2023
0803a1d
Implement airport registry for IATA code validation
davewalker5 Jun 6, 2023
51d955e
Merge branch 'airport-registry' of github.com:davewalker5/FlightRecor…
davewalker5 Jun 6, 2023
dc576b9
Merge pull request #7 from davewalker5/airport-registry
davewalker5 Jun 6, 2023
a47b50d
Added method to return all airports
davewalker5 Jun 9, 2023
b95f4bf
Merge pull request #8 from davewalker5/retrieve-all-airports
davewalker5 Jun 9, 2023
9a61713
IATA Code Validation
davewalker5 Jun 9, 2023
7d1af04
Update dotnetcore.yml
davewalker5 Jun 9, 2023
945b018
Merge pull request #7 from davewalker5/iata-code-validation
davewalker5 Jun 9, 2023
bc76124
Update Build Action to use .NET 7
davewalker5 Jun 9, 2023
9481fd2
Merge pull request #8 from davewalker5/iata-code-validation
davewalker5 Jun 9, 2023
f4876ca
Make serial number and year of manufacture optional aircraft properties
davewalker5 Jul 29, 2023
3c87617
Merge pull request #9 from davewalker5/optional_aircraft_properties
davewalker5 Jul 29, 2023
6ac6c6e
Make serial number and age optional aircraft parameters
davewalker5 Jul 30, 2023
cf55cf9
Merge pull request #9 from davewalker5/optional_aircraft_properties
davewalker5 Jul 30, 2023
d4fa7c7
Fixup NULL aircraft error
davewalker5 Jul 30, 2023
9698fcb
Merge pull request #10 from davewalker5/null_aircraft_bug
davewalker5 Jul 30, 2023
efdac90
Fixup IATA code caching issue
davewalker5 Jul 30, 2023
f5d44dc
Merge pull request #11 from davewalker5/iata_code_caching
davewalker5 Jul 30, 2023
34da6c5
Fixup Docker README
davewalker5 Oct 4, 2023
fa11e3c
Update README
davewalker5 Oct 4, 2023
e1089ce
FR-23 Make IATA Code Validation non-case sensitive
davewalker5 Oct 19, 2023
aba12b0
FR-26 Airport Code Doesn't Clear on Adding New Airport
davewalker5 Oct 19, 2023
f0aaea6
Add search by flight and date for duplicate sighting detection
davewalker5 Oct 21, 2023
5dacff5
Added warning about duplicate flights on the same date
davewalker5 Oct 21, 2023
b988471
Added airline statistics report
davewalker5 Oct 22, 2023
885970e
Added location statistics report
davewalker5 Oct 22, 2023
12a9034
Added aircraft model statistics report
davewalker5 Oct 22, 2023
1c3ba39
Added manufacturer statistics report
davewalker5 Oct 22, 2023
e7cfb72
Updated docker build for v1.1.0.0
davewalker5 Oct 22, 2023
3a61060
Add entity statistics reports to the UI
davewalker5 Oct 22, 2023
12dd18f
Updated docker build
davewalker5 Oct 22, 2023
313f7aa
Merge pull request #10 from davewalker5/FR-24-Bug-Fixes
davewalker5 Oct 22, 2023
3b209c3
Merge pull request #12 from davewalker5/FR-24-Bug-Fixes
davewalker5 Oct 22, 2023
f54ba91
Support minimal aircraft properties (registration only)
davewalker5 Oct 23, 2023
cebbe87
Support minimal aircraft properties (registration only)
davewalker5 Oct 23, 2023
ff85799
Merge pull request #11 from davewalker5/FR-24-Bug-Fixes
davewalker5 Oct 23, 2023
4a76822
Merge pull request #13 from davewalker5/FR-24-Bug-Fixes
davewalker5 Oct 23, 2023
e551fcc
Added the flights by month report
davewalker5 Oct 23, 2023
b6f79a4
Added flights by month report
davewalker5 Oct 23, 2023
c7bb9e0
Merge pull request #14 from davewalker5/FR-15-Flights-By-Month-Report
davewalker5 Oct 23, 2023
7ed180a
Added sightings export background service
davewalker5 Oct 26, 2023
a2c0c71
Added sightings export from the UI
davewalker5 Oct 26, 2023
7bb5d43
Prepare for docker release
davewalker5 Oct 26, 2023
7206577
Merge pull request #12 from davewalker5/FR-31-Sightings-Export
davewalker5 Oct 26, 2023
38b5ee1
Merge pull request #15 from davewalker5/FR-31-Sightings-Export
davewalker5 Oct 26, 2023
aa306f9
Added airports export
davewalker5 Oct 26, 2023
de1b6b7
Update docker build files
davewalker5 Oct 26, 2023
60d3f48
Added airports export to the UI
davewalker5 Oct 26, 2023
553c60e
Merge pull request #13 from davewalker5/FR-37-Airports-Export
davewalker5 Oct 26, 2023
f6bfedb
Merge pull request #16 from davewalker5/FR-37-Airports-Export
davewalker5 Oct 26, 2023
167d729
Added report export service
davewalker5 Oct 26, 2023
7b54f47
Added report export from the UI
davewalker5 Oct 27, 2023
c0c1263
Merge pull request #14 from davewalker5/FR-58-Reports-Export
davewalker5 Oct 27, 2023
2a6ebb3
Added report export from the individual report pages
davewalker5 Oct 27, 2023
26c6007
Merge pull request #17 from davewalker5/FR-58-Reports-Export
davewalker5 Oct 27, 2023
ac044da
Remove spurious link
davewalker5 Oct 27, 2023
d11d64d
Merge pull request #18 from davewalker5/FR-66-Remove-Spurious-Link
davewalker5 Oct 27, 2023
892e1c9
Added job status report endpoint
davewalker5 Oct 30, 2023
4bbfd98
Updated Docker build for next release
davewalker5 Oct 30, 2023
9dc2d8f
Merge pull request #15 from davewalker5/FR-67-Job-Status-Report
davewalker5 Oct 30, 2023
f2b529b
Implement job status report and export
davewalker5 Oct 30, 2023
5e33135
Merge pull request #16 from davewalker5/FR-67-Job-Status-Report
davewalker5 Oct 30, 2023
a139435
Added Job Status report and export
davewalker5 Oct 30, 2023
d96d0a7
Merge pull request #19 from davewalker5/FR-67-Job-Status-Report
davewalker5 Oct 30, 2023
8a49111
Add pagination to the countries maintenance page
davewalker5 Oct 30, 2023
0153135
Merge pull request #20 from davewalker5/FR-51-Paginate-Country-Mainte…
davewalker5 Oct 30, 2023
41998ad
Paginate the airports maintenance page
davewalker5 Oct 30, 2023
34d24df
Merge pull request #21 from davewalker5/FR-21-Paginate-Airports
davewalker5 Oct 30, 2023
7c4c4ec
Paginate the manufacturers maintenance page
davewalker5 Oct 30, 2023
64b0558
Merge pull request #22 from davewalker5/FR-11-Paginate-Manufacturers
davewalker5 Oct 30, 2023
7f4b5e4
Paginate the location maintenance page
davewalker5 Oct 30, 2023
4b24706
Merge pull request #23 from davewalker5/FR-10-Paginate-Locations
davewalker5 Oct 30, 2023
fcebcd3
Added external API integration for new data lookup
davewalker5 Nov 6, 2023
aeb2b7f
Merge pull request #17 from davewalker5/FR-73-External-API-Integration
davewalker5 Nov 6, 2023
ec2a1b1
Completed the README with references to the Wiki
davewalker5 Nov 6, 2023
c6fe5a4
Fixup typo in WikI
davewalker5 Nov 6, 2023
8ec78b3
Initial merge of Flight Recorder API repo
davewalker5 Dec 9, 2023
3a17453
Reorganised docker folder
davewalker5 Dec 9, 2023
8d5a7b3
Initial merge of the MVC UI project
davewalker5 Dec 9, 2023
bef8a4b
Reorganised docker folder
davewalker5 Dec 9, 2023
05e13c5
Added API project to combined solution file
davewalker5 Dec 9, 2023
ec8e853
Added UI project to combined solution file
davewalker5 Dec 9, 2023
d702b99
Resolve/suppress build warnings
davewalker5 Dec 9, 2023
bb9cb72
Combined DB, API and UI README
davewalker5 Dec 10, 2023
a84ba4b
Updated repo URL
davewalker5 Dec 10, 2023
f5fc197
Update dotnetcore.yml
davewalker5 Dec 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/FlightRecorder.Mvc/wwwroot/* linguist-vendored
67 changes: 33 additions & 34 deletions .github/workflows/dotnetcore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,39 @@ on: [push]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.302
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Install SonarCloud scanners
run: |
dotnet tool install --global dotnet-sonarscanner
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
dotnet-sonarscanner begin /k:"davewalker5_FlightRecorderDb" /o:"davewalker5" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
dotnet build --configuration Release src/FlightRecorderDb.sln
dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"
- name: Run unit tests and generate code coverage
run: dotnet test src/FlightRecorderDb.sln /p:CollectCoverage=true /p:CoverletOutput=coverage/ /p:CoverletOutputFormat=lcov
- name: Generage Coveralls code coverage
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: src/FlightRecorder.Tests/coverage/coverage.info
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.302
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 19
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Install SonarCloud scanners
run: |
dotnet tool install --global dotnet-sonarscanner
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
dotnet-sonarscanner begin /k:"davewalker5_FlightRecorderDb" /o:"davewalker5" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
dotnet build --configuration Release src/FlightRecorderDb.sln
dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"
- name: Run unit tests and generate code coverage
run: dotnet test src/FlightRecorderDb.sln /p:CollectCoverage=true /p:CoverletOutput=coverage/ /p:CoverletOutputFormat=lcov
- name: Generage Coveralls code coverage
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: src/FlightRecorder.Tests/coverage/coverage.info
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -405,3 +405,6 @@ ASALocalRun/
.localhistory/

data/
bin
obj
.DS_Store
Binary file added Balsamiq/Sighting Entry Wizard.bmpr
Binary file not shown.
76 changes: 59 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
# FlightRecorderDb
# FlightRecorder

[![Build Status](https://github.com/davewalker5/FlightRecorderDb/workflows/.NET%20Core%20CI%20Build/badge.svg)](https://github.com/davewalker5/FlightRecorderDb/actions)
[![GitHub issues](https://img.shields.io/github/issues/davewalker5/FlightRecorderDb)](https://github.com/davewalker5/FlightRecorderDb/issues)
[![Coverage Status](https://coveralls.io/repos/github/davewalker5/FlightRecorderDb/badge.svg?branch=master)](https://coveralls.io/github/davewalker5/FlightRecorderDb?branch=master)
[![Releases](https://img.shields.io/github/v/release/davewalker5/FlightRecorderDb.svg?include_prereleases)](https://github.com/davewalker5/FlightRecorderDb/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/davewalker5/FlightRecorderDb/blob/master/LICENSE)
[![Language](https://img.shields.io/badge/language-c%23-blue.svg)](https://github.com/davewalker5/FlightRecorderDb/)
[![Language](https://img.shields.io/badge/database-SQLite-blue.svg)](https://github.com/davewalker5/FlightRecorderDb/)
[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/davewalker5/FlightRecorderDb)](https://github.com/davewalker5/FlightRecorderDb/)
[![Build Status](https://github.com/davewalker5/FlightRecorder/workflows/.NET%20Core%20CI%20Build/badge.svg)](https://github.com/davewalker5/FlightRecorder/actions)
[![GitHub issues](https://img.shields.io/github/issues/davewalker5/FlightRecorder)](https://github.com/davewalker5/FlightRecorder/issues)
[![Coverage Status](https://coveralls.io/repos/github/davewalker5/FlightRecorder/badge.svg?branch=master)](https://coveralls.io/github/davewalker5/FlightRecorder?branch=master)
[![Releases](https://img.shields.io/github/v/release/davewalker5/FlightRecorder.svg?include_prereleases)](https://github.com/davewalker5/FlightRecorder/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/davewalker5/FlightRecorder/blob/master/LICENSE)
[![Language](https://img.shields.io/badge/language-c%23-blue.svg)](https://github.com/davewalker5/FlightRecorder/)
[![Language](https://img.shields.io/badge/database-SQLite-blue.svg)](https://github.com/davewalker5/FlightRecorder/)
[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/davewalker5/FlightRecorder)](https://github.com/davewalker5/FlightRecorder/)

## About FlightRecorderDb
## About

FlightRecorderDb implements the entities and business logic for a SQL-based aircraft sightings logbook.
FlightRecorder implements a SQL-based aircraft sightings logbook. A ASP.NET WenAPI provides access to the business logic and data access layer while an ASP.NET MVC UI provides the user interface.

Each sighting consists of the following data:

- Flight details
- Flight number
- Embarkation airport
- Destination
- Embarkation airport IATA code
- Destination IATA code
- Airline
- Aircraft details
- Registration details
Expand All @@ -29,18 +29,60 @@ Each sighting consists of the following data:
- Altitude when sighted
- Location

A register of airport codes by country is used to validate airport IATA codes.

Sightings may be searched by:

- Route, specified as airport IATA codes
- Flight number
- Airline name
- Aircraft registration number
- Date

The following reports can be generated and exported to CSV format files:

- Airline statistics
- Flights by month
- Location statistics
- Manufacturer statistics
- Aircraft model statistics

The following data can be exported in CSV format:

- Sightings
- Airport code and country list

## Getting Started

Please see the [Wiki](https://github.com/davewalker5/FlightRecorderDb/wiki) for details on how to reference and use the Flight Recorder business logic and how to get started with a database to hold the data.
Please see the [Wiki](https://github.com/davewalker5/FlightRecorder/wiki) for configuration details and the user guide.

## Authors

- **Dave Walker** - *Initial work* - [LinkedIn](https://www.linkedin.com/in/davewalker5/)
- **Dave Walker** - _Initial work_ - [LinkedIn](https://www.linkedin.com/in/davewalker5/)

## Feedback

To file issues or suggestions, please use the [Issues](https://github.com/davewalker5/FlightRecorder/issues) page for this project on GitHub.

## License

# This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Credits

Implementation of authentication using JWT in the REST API is based on the following tutorial:

- https://github.com/cornflourblue/aspnet-core-3-jwt-authentication-api
- https://jasonwatmore.com/post/2019/10/11/aspnet-core-3-jwt-authentication-tutorial-with-example-api#users-controller-cs

The Flight Recorder MVC project uses the Gijgo JavaScript controls library:

- https://gijgo.com

## Feedback

To file issues or suggestions, please use the [Issues](https://github.com/davewalker5/FlightRecorderDb/issues) page for this project on GitHub.
To file issues or suggestions, please use the [Issues](https://github.com/davewalker5/FlightRecorder/issues) page for this project on GitHub.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
4 changes: 4 additions & 0 deletions docker/api/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM mcr.microsoft.com/dotnet/core/aspnet:latest
COPY flightrecorder.api-1.7.0.0 /opt/flightrecorder.api-1.7.0.0
WORKDIR /opt/flightrecorder.api-1.7.0.0/bin
ENTRYPOINT [ "./FlightRecorder.Api" ]
98 changes: 98 additions & 0 deletions docker/api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# flightrecorderapisqlite

The [FlightRecorderDb](https://github.com/davewalker5/FlightRecorderDb) and [FlightRecorder.Api](https://github.com/davewalker5/FlightRecorder.Api) GitHub projects implement the entities, business logic and a REST service for a SQL-based aircraft sightings logbook, providing facilities for recording and querying the following data:

- Manufacturer, model and aircraft registration details
- Airline and flight details
- Sighting locations
- Aircraft sightings

The flightrecorderapisqlite image contains a build of the logic and REST service for a SQLite database.

## Getting Started

### Prerequisities

In order to run this image you'll need docker installed.

- [Windows](https://docs.docker.com/windows/started)
- [OS X](https://docs.docker.com/mac/started/)
- [Linux](https://docs.docker.com/linux/started/)

### Usage

#### Container Parameters

The following "docker run" parameters are recommended when running the flightrecorderapisqlite image:

| Parameter | Value | Purpose |
| --------- | ------------------------------------------ | ------------------------------------------------------- |
| -d | - | Run as a background process |
| -v | /local:/var/opt/flightrecorder.api-1.0.0.0 | Mount the host folder containing the SQLite database |
| -p | 5001:80 | Expose the container's port 80 as port 5001 on the host |
| --rm | - | Remove the container automatically when it stops |

For example:

```shell
docker run -d -v /local:/var/opt/flightrecorder.api-1.0.0.0 -p 5001:80 --rm davewalker5/flightrecorderapisqlite:latest
```

The "/local" path given to the -v argument is described, below, and should be replaced with a value appropriate for the host running the container. Similarly, the port number "5001" can be replaced with any available port on the host.

#### Volumes

The description of the container parameters, above, specifies that a folder containing the SQLite database file for the Flight Recorder database is mounted in the running container, using the "-v" parameter.

That folder should contain a SQLite database that has been created using the instructions in the [Flight Recorder wiki](https://github.com/davewalker5/FlightRecorderDb/wiki).

Specifically, the following should be done:

- [Create the SQLite database](https://github.com/davewalker5/FlightRecorderDb/wiki/Using-a-SQLite-Database)
- [Add a user to the database](https://github.com/davewalker5/FlightRecorderDb/wiki/REST-API)

The folder containing the "flightrecorder.db" file can then be passed to the "docker run" command using the "-v" parameter.

#### Running the Image

To run the image, enter the following command, substituting "/local" for the host folder containing the SQLite database, as described:

```shell
docker run -d -v /local:/var/opt/flightrecorder.api-1.0.0.0/ -p 5001:80 --rm davewalker5/flightrecorderapisqlite:latest
```

Once the container is running, browse to the following URL on the host:

http://localhost:5001

You should see the Swagger API documentation for the API.

## Built With

The flightrecorderapisqlite image was been built with the following:

| Aspect | Version |
| -------------- | ---------------------- |
| .NET Core CLI | 3.1.101 |
| Target Runtime | linux-x64 |
| Docker Desktop | 19.03.5, build 633a0ea |

## Find Us

- [FlightRecorderDb on GitHub](https://github.com/davewalker5/FlightRecorderDb)
- [FlightRecorder.Api on GitHub](https://github.com/davewalker5/FlightRecorder.Api)

## Versioning

For the versions available, see the [tags on this repository](https://github.com/davewalker5/FlightRecorder.Api/tags).

## Authors

- **Dave Walker** - _Initial work_ - [LinkedIn](https://www.linkedin.com/in/davewalker5/)

See also the list of [contributors](https://github.com/davewalker5/FlightRecorder.Api/contributors) who
participated in this project.

## License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/davewalker5/FlightRecorder.Api/blob/master/LICENSE) file for details.
4 changes: 4 additions & 0 deletions docker/ui/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM mcr.microsoft.com/dotnet/aspnet:latest AS runtime
COPY flightrecorder.mvc-1.6.0.0 /opt/flightrecorder.mvc-1.6.0.0
WORKDIR /opt/flightrecorder.mvc-1.6.0.0/bin
ENTRYPOINT [ "./FlightRecorder.Mvc" ]
Loading
Loading