@online{choosing-the-right-key, author = "Gowri Balasubramanian and Sean Shriver", title = "Choosing the Right DynamoDB Partition Key", organization = "AWS Database Blog", year = 2017, url = "https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/", urldate = "2025-03-26" } @online{gsi, author = "Amazon Web Services Inc.", title = "Using Global Secondary Indexes in DynamoDB", organization = "Amazon DynamoDB Developer Guide", year = 2025, url = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html", urldate = "2025-03-26" } @online{awsapi, author = "Amazon Web Services Inc.", title = "Amazon API Gateway", year = 2025, url = "https://aws.amazon.com/api-gateway/", urldate = "2025-03-26" } @online{httpvsrest, author = "Amazon Web Services Inc.", title = "Choose between REST APIs and HTTP APIs", organization = "Amazon API Gateway Developer Guide", year = 2025, url = "https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html", urldate = "2025-03-26" } @online{apipricing, author = "Amazon Web Services Inc.", title = "Amazon API Gateway Pricing", organization = "Amazon API Gateway Developer Guide", year = 2025, url = "https://aws.amazon.com/api-gateway/pricing/", urldate = "2025-03-26" } @online{pythondict, author = "Python Software Foundation", title = "5. Data Structures ¶ Dictionaries", organization = "Python 3.12.2 Documentation", year = 2025, url = "https://docs.python.org/3/tutorial/datastructures.html#dictionaries", urldate = "2025-03-26" } @online{nielsenheuristics, author = "Jakob Nielsen", title = "10 Usability Heuristics for User Interface Design", year = 1994, url = "https://www.nngroup.com/articles/ten-usability-heuristics/", urldate = "2025-03-26" } @online{boto3query, author = "Amazon Web Services Inc.", title = "Table / Action / \texttt{query}", organization = "Boto3 1.27.0 documentation", year = 2023, url = "https://boto3.amazonaws.com/v1/documentation/api/1.27.0/reference/services/dynamodb/table/query.html", urldate = "2025-03-26" } @online{useparameterisedqueries, author = "Amazon Web Services Inc.", title = "Use parameterized queries", organization = "Amazon Athena User Guide", year = 2025, url = "https://docs.aws.amazon.com/athena/latest/ug/querying-with-prepared-statements.html", urldate = "2025-03-26" } @online{spa, author = "React Router", title = "Single Page App (SPA)", organization = "React Router API Reference", year = 2025, url = "https://reactrouter.com/how-to/spa", urldate = "2025-03-27" } @online{reactrouter, author = "React Router", title = "Routing", organization = "React Router API Reference", year = 2025, url = "https://reactrouter.com/start/declarative/routing", urldate = "2025-03-27" } @online{containerpresentational, author = "Lydia Hallie and Addy Osmani", title = "Container/Presentational Pattern", organization = "patterns.dev", year = 2025, url = "https://www.patterns.dev/react/presentational-container-pattern/", urldate = "2025-03-29" } @online{reactcomponents, author = "Meta Open Source", title = "Component", organization = "React API Reference", year = 2025, url = "https://react.dev/reference/react/Component", urldate = "2025-03-28" } @online{arraymethods, author = "MDN Contributors", title = "References > JavaScript > Reference > Standard built-in objects > Array: Instance Methods", organization = "MDN Web Docs", year = 2025, url = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#instance_methods", urldate = "2025-03-28" } @online{javastream, author = "Oracle Corporation", title = "\mintinline{java}{Interface Stream}", organization = "Java™ Platform, Standard Edition 8 API Specification", year = 2025, url = "https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html", urldate = "2025-03-28" } @online{redhatpipe, author = "Ken Hess", title = "Working with pipes on the Linux command line", organization = "Red Hat Blog", year = 2019, url = "https://www.redhat.com/en/blog/pipes-command-line-linux", urldate = "2025-03-28" } @online{shortcircuit, author = "Marius Schulz", title = "The \mintinline{js}{some()} and \mintinline{js}{every()} Array Methods in JavaScript", year = 2016, url = "https://mariusschulz.com/blog/the-some-and-every-array-methods-in-javascript", urldate = "2025-03-28" } @online{jsmethodopti, author = "Andriy Obrizan", title = "Performance of JavaScript .forEach, .map and .reduce vs for and for..of", year = 2021, url = "https://leanylabs.com/blog/js-forEach-map-reduce-vs-for-for_of/", urldate = "2025-03-28" } @online{leaflet, author = "Volodymyr Agafonkin", title = "Leaflet API Reference", organisation = "Leaflet", year = 2023, url = "https://leafletjs.com/index.html", urldate = "2025-03-28" } @online{logicalor, author = "MDN Contributors", title = "Expressions and operators > Logical OR (||)", organization = "MDN Web Docs", year = 2025, url = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR", urldate = "2025-03-28" } @online{logicaland, author = "MDN Contributors", title = "Expressions and operators > Logical AND (\&\&)", organization = "MDN Web Docs", year = 2025, url = "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND", urldate = "2025-03-28" } @article{chopde2013landmark, author = {Nitin R. Chopde and Mangesh K. Nichat}, title = {Landmark Based Shortest Path Detection by Using A* Algorithm and Haversine Formula}, journal = {International Journal of Innovative Research in Computer and Communication Engineering}, volume = {1}, number = {2}, year = {2013}, month = apr, issn = {2320-9798}, eissn = {2320-9801}, pages = {298--302}, url = {https://www.researchgate.net/publication/282314348}, } @article{vincenty1975geodesics, author = {Vincenty, Thaddeus}, title = {Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application of Nested Equations}, journal = {Survey Review}, volume = {23}, number = {176}, year = {1975}, month = apr, publisher = {Directorate of Overseas Surveys, Ministry of Overseas Development}, address = {Tolworth, Surrey}, pages = {88--93}, issn = {0039-6265}, } @book{smith2013precalculus, author = {Karl Smith}, title = {Precalculus: A Functional Approach to Graphing and Problem Solving}, year = {2013}, publisher = {Jones \& Bartlett Publishers}, pages = {8}, isbn = {978-0-7637-5177-7}, } @incollection{turcotte_earths_radius_1992, author = {Donald L. Turcotte and Gerald Schubert}, title = {The Earth's Radius}, booktitle = {Geodynamics}, publisher = {Springer}, year = {1992}, pages = {61--74}, doi = {10.1007/978-1-4612-4434-9_4}, url = {https://link.springer.com/chapter/10.1007/978-1-4612-4434-9_4}, edition = {2}, address = {New York}, } @online{mdnperceivedperformance, author = "MDN Contributors", title = "Web performance > Perceived performance", organization = "MDN Web Docs", year = 2025, url = "https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Performance/Perceived_performance", urldate = "2025-03-28" } @thesis{persson2019perceived, author = {Persson, Samantha}, title = {Improving Perceived Performance of Loading Screens Through Animation}, year = {2019}, type = {Bachelor's thesis}, institution = {Linnaeus University}, address = {Växjö, Sweden}, supervisor = {Romain Herault}, examiner = {Susanna Nordmark}, keywords = {Animation, Perceived Performance, User Experience, Loading Animation, Interaction Design}, url = "https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1333185&dswid=-9045" } @article{Vladic2020LoadingAnimations, author = {Gojko Vladić and Selena Mijatović and Gordana Bošnjaković and Ivana Jurič and Vladimir Dimovski}, title = {Analysis of the Loading Animation Performance and Viewer Perception}, journal = {GRID: Graphic Engineering and Design}, year = {2020}, volume = {11}, number = {2}, pages = {667--675}, doi = {10.24867/GRID-2020-p76}, url = {https://www.researchgate.net/publication/346892743_Analysis_of_the_loading_animation_performance_and_viewer_perception}, publisher = {University of Novi Sad, Faculty of Technical Sciences}, note = {Professional paper} } @online{tailwind, author = "Tailwind Labs Inc.", title = "Tailwind CSS Documentation", organization = "tailwindcss", year = 2025, url = "https://tailwindcss.com/docs/installation/using-vite", urldate = "2025-03-28" } @online{leaflet_markercluster, author = {Dave Leaver}, title = {Leaflet.markercluster}, year = {2025}, url = {http://leaflet.github.io/Leaflet.markercluster/}, note = {Accessed: 2025-03-29} } @book{norman_design_2013, author = {Donald A. Norman}, title = {The Design of Everyday Things}, edition = {Revised and Expanded}, publisher = {Basic Books}, location = {New York, NY}, date = {2013}, isbn = {9780465050659}, } @online{debounce, author = {Aneeqa Khan}, title = {Throttling and Debouncing - Explained}, organisation = {DEV Community}, year = {2023}, url = {https://dev.to/aneeqakhan/throttling-and-debouncing-explained-1ocb}, note = {Accessed: 2025-03-29} } @online{tramicon, author = "Iconic Artisan", title = "Tram station free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/iconic-artisan", urldate = "2025-03-26" } @online{busstopicon, author = "Boris Farias", title = "Location free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/boris-farias", urldate = "2025-03-26" } @online{trainstaitionicon, author = "nawicon", title = "Train free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/nawicon", urldate = "2025-03-26" } @online{busicon, author = "Hilmy Abiyyu A.", title = "Bus free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/hilmy-abiyyu-a", urldate = "2025-03-26" } @online{trainicon, author = "Google", title = "Train free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/google", urldate = "2025-03-26" } @online{darticon, author = "Freepik", title = "Tram Front View free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/freepik", urldate = "2025-03-26" } @online{trainticket, author = "Freepik", title = "Ticket free icon", organization = "Flaticon", url = "https://www.flaticon.com/authors/freepik", urldate = "2025-03-26" } @online{osm, author = "OpenStreetMap Contributors", title = "OpenStreetMap: Getting Help", organization = "OpenStreetMap", url = "https://www.openstreetmap.org/help", urldate = "2025-03-29" } @online{osi, author = "Ordnance Survey Ireland", title = "Where is the centre of Ireland?", organization = "Tailte Éireann", url = "https://web.archive.org/web/20231004185017/https://osi.ie/blog/where-is-the-centre-of-ireland/", urldate = "2025-03-29" } @online{flexbox, author = "Tailwind Labs Inc.", title = "Flexbox \& Grid", organization = "Tailwind CSS Documentation", url = "https://tailwindcss.com/docs/flex", urldate = "2025-03-29" } @online{atlassianpiechart, author = "Mike Yi", title = "A Complete Guide to Pie Charts", organization = "Atlassian", url = "https://www.atlassian.com/data/charts/pie-chart-complete-guide", urldate = "2025-03-29" } @online{spotfirepie, author = "Cloud Software Group, Inc.", title = "What is a pie chart?", organization = "Spotfire", url = "https://www.spotfire.com/glossary/what-is-a-pie-chart", urldate = "2025-03-29" } @online{inforirver, author = "Lumel", title = "Pie chart 101: How to use \& when to avoid them", organization = "Inforiver", url = "https://inforiver.com/insights/pie-chart-101-how-to-use-when-to-avoid-them/", urldate = "2025-03-29" } @online{liveir, title = "Irish Rail Live Map", author = "Iarnród Éireann", year = 2024, url = "https://www.irishrail.ie/en-ie/train-timetables/live-train-map" } @online{iompar_teanglann, author = {{Foras na Gaeilge}}, title = {iompar}, year = {2025}, url = {https://www.teanglann.ie/en/fgb/iompar}, note = {Accessed: 2025-04-01}, subtitle = {Foclóir Gaeilge–Béarla}, organization = {Teanglann} } @online{w3c-cors, author = {{World Wide Web Consortium}}, title = {{Cross-Origin Resource Sharing}}, year = {2020}, month = {June}, url = {https://www.w3.org/TR/2020/SPSD-cors-20200602/}, note = {W3C Proposed Edited Recommendation}, institution = {World Wide Web Consortium (W3C)}, } @misc{reenskaug2003mvc, author = {Trygve Reenskaug}, title = {The Model-View-Controller (MVC): Its Past and Present}, year = {2003}, url = {https://citeseerx.ist.psu.edu/document?doi=4ef90a7b9c1b1cd02acf273694e4059a70c7d198}, urldate = {2025-04-02} } @inproceedings{mcnatt2001coupling, author = {William B. McNatt and James M. Bieman}, title = {Coupling of Design Patterns: Common Practices and Their Benefits}, booktitle = {Proceedings of the Computer Software \& Applications Conference (COMPSAC 2001)}, year = {2001}, note = {To appear}, publisher = {IEEE}, address = {Fort Collins, CO, USA}, url = {https://www.cs.colostate.edu/~bieman/Pubs/McnattBieman01.pdf}, urldate = "2025-04-02" } @article{hassan2021survey, title={Survey on serverless computing}, author={Hassan, Hassan B. and Barakat, Saman A. and Sarhan, Qusay I.}, journal={Journal of Cloud Computing: Advances, Systems and Applications}, volume={10}, number={1}, pages={1--29}, year={2021}, publisher={Springer}, doi={10.1186/s13677-021-00253-7}, url={https://journalofcloudcomputing.springeropen.com/articles/10.1186/s13677-021-00253-7} } @online{awslambda, author = "Amazon Web Services Inc.", title = "What is AWS Lambda?", organization = "Amazon Lambda Developer Guide", year = 2025, url = "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html", urldate = "2025-04-02" } @online{aws_management_console, author = "Amazon Web Services Inc.", title = "What is the AWS Management Console?", organization = "AWS Management Console Documentation", year = 2025, url = "https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/what-is.html", urldate = "2025-04-02" } @online{aws_cli, author = "Amazon Web Services Inc.", title = "AWS Command Line Interface", organization = "AWS Developer Center", year = 2025, url = "https://aws.amazon.com/cli/", urldate = "2025-04-02" } @online{awsPowerTuning, author = {Alex Casalboni}, title = {AWS Lambda Power Tuning}, year = {2023}, url = {https://github.com/alexcasalboni/aws-lambda-power-tuning}, urldatel = {2025-04-03}, } @online{aws_readwrite, author = "Amazon Web Services Inc.", title = "DynamoDB read and write operations", organization = "Amazon DynamoDB Developer Guide", year = 2025, url = "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html", urldate = "2025-04-02" } @online{usememo, author = {Meta Open Source}, title = {useMemo}, organisation = {React Documentation}, year = {2023}, url = {https://react.dev/reference/react/useMemo}, urldatel = {2025-04-03}, } @online{awsfree, author = "Amazon Web Services Inc.", title = "AWS Free Tier", organization = "Amazon DynamoDB Developer Guide", year = 2025, url = "https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all", urldate = "2025-04-02" }