diff --git a/README.md b/README.md index ad7e777..e2d9f46 100644 --- a/README.md +++ b/README.md @@ -20,23 +20,16 @@ This project aims at reviving [aero-offers.com](aero-offers.com) - invaluable so Currently, the project is being onboarded to Azure Cloud (still WIP). ### TODO -- [x] deploy working ui, api and db to Azure -- [x] fix segelflug spider/crawler -- [x] good enough DB setup (cheap VM) -- [x] use Azure secrets for db credentials -- [x] setup cron triggers for crawlers, reclassifier and FX rates updater -- [x] human readable domain (aero-offers.pl) -- [x] fix aircraft type dropdown -- [ ] database daily backups -- [ ] infra as code (biceps or terraform) +- [ ] UI: consent banner for GA +- [ ] Infra: db daily backups +- [ ] Infra: infra as code (biceps or terraform) - [ ] document infra and env topology -- [ ] fix other spiders/crawlers -- [ ] redirect from aero-offers.com -- [ ] fix & polish CSS in UI -- [ ] update/simplify legal subpage -- [ ] cookies info -- [ ] use https://github.com/weglide/GliderList -- [ ] admin panel for manual (re) classification (or community-based) +- [ ] Backend: fix and enable other spiders/crawlers +- [ ] UI: aero-offers.com +- [ ] Improve aircraft types structure and introduce 2 levels: glider (e.g Discus 2c 18m) and model (Discus 2cFES 18m) as prices between models sometimes differ significantly +- [ ] UI: fix & polish CSS in UI +- [ ] utilize https://github.com/weglide/GliderList as source of truth for glider types/models +- [ ] UI: admin panel for manual (re) classification (or community-based) - [ ] crawler for Facebook Marketplace - do they have nice api? - [ ] crawler for https://www.aircraft24.de - [ ] crawler for http://www.airplanemart.com diff --git a/ui/eslint.config.js b/ui/eslint.config.js index 7a05caa..0ae4115 100644 --- a/ui/eslint.config.js +++ b/ui/eslint.config.js @@ -8,9 +8,6 @@ export default [ eslintPluginPrettierRecommended, { files: ['**/*.vue', '**/*..js', '**/*..jsx', '**/*..cjs', '**/*..mjs'], - ignores: ['.gitignore'], - rules: { - 'vue/multi-word-component-names': 'warn' - } + ignores: ['.gitignore'] } ] diff --git a/ui/src/App.vue b/ui/src/App.vue index ce6ee35..7d1fee2 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -9,7 +9,7 @@ All Offers + +
+ +
@@ -35,8 +39,12 @@ /*global __COMMIT_HASH__*/ /*global __BUILD_TIMESTAMP__*/ +import AircraftModelFilter from './components/AircraftModelFilter.vue' + export default { - components: {}, + components: { + AircraftModelFilter + }, data() { return { buildInfo: 'Build: ' + __COMMIT_HASH__ + ', ' + __BUILD_TIMESTAMP__ @@ -150,7 +158,7 @@ export default { color: #ffffff; } -#nav a.router-link-exact-active { +#nav a.router-link-active { color: #f71735; text-decoration: none; } @@ -229,4 +237,9 @@ export default { .tooltip:hover .tooltiptext { visibility: visible; } + +#aircraft-type-filter { + padding: 5px; + width: 500px; +} diff --git a/ui/src/components/AircraftModelFilter.vue b/ui/src/components/AircraftModelFilter.vue new file mode 100644 index 0000000..c588fca --- /dev/null +++ b/ui/src/components/AircraftModelFilter.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/ui/src/components/OfferComponent.vue b/ui/src/components/OfferThumb.vue similarity index 86% rename from ui/src/components/OfferComponent.vue rename to ui/src/components/OfferThumb.vue index 20fba0b..16b34ef 100644 --- a/ui/src/components/OfferComponent.vue +++ b/ui/src/components/OfferThumb.vue @@ -22,8 +22,8 @@

Model: {{ offer.manufacturer }} {{ offer.model }} @@ -34,7 +34,7 @@

@@ -43,7 +43,7 @@ - - diff --git a/ui/src/views/OffersList.vue b/ui/src/views/OffersList.vue new file mode 100644 index 0000000..7968c26 --- /dev/null +++ b/ui/src/views/OffersList.vue @@ -0,0 +1,61 @@ + + + + +