LandscapeLearnr is an reference site for GeoGuessr players, created with a Laravel backend and Vue.js frontend.
In GeoGuessr, you're dropped somewhere on Google Street View. Based on features like architecture, vegetation, and road signs, your goal is to try and guess your location.
There are many sites that help people learn the game, like Plonk It and GeoHints. LandscapeLearnr is different in that it focuses on Earth's natural features and lets you quickly search and reference specific information.
This is a small hobby project, created mainly because I was tired of constantly having to ctrl-f on other GeoGuessr learning sites. I also wanted to get familiar with moden frontend frameworks, like Vue.js, and experiment with different development tools and practices.
Snippets are the core of this project: they're the short bite-sized pieces of info that you can search and reference. You can add images, Street View links, and tags to snippets. Tags can have a Tag Category.
Here are some files that may be helpful:
- Snippet create/edit form (Vue): resources/js/pages/snippets/components/Form.vue. The most complex code in this project, but still fairly simple.
- Input components used in various frontend forms (Vue): resources/js/components/form
- Snippet controller (Laravel/PHP): app/Http/Controllers/SnippetController.php
- Snippet store/update logic (Laravel/PHP): app/Services/SnippetService.php
Thank you for taking a look!
Here's a tentative list of things I'd like to do at some point:
- Write automated tests
- Address site performance issues noted on the PageSpeed Insights report
- Improve snippet image browsing functionality, like ability to use keyboard arrow keys
- When adding tags to snippets, suggest tags based on user input and existing tags
- On the main search page, add sorting by date, title, relevance, etc.
- When creating and editing snippets, add ability to easily reorder and remove images
- Add tools for creating and editing tags and categories
- Add DB table indexes
- Add different statuses and visibility for snippets (draft, unlisted, published, etc)
- Lock editing when someone else is editing a snippet/tag/category/etc
- More intelligent search that accounts for snippet body text
- Maybe make this into a generalized reference sheet system ... the current search/snippet/tag thing is flexible enough for it