Interactive Map of SETU Carlow

SETU Carlow Logo


Finding one’s way around the SETU Carlow campus is something all visitors and in particular new students must learn, but which can be confusing at the start. Even for people who are familiar with the campus, it is often difficult to locate some rooms/locations which they are not familiar with. An interactive application/website which would present a map of the institute in such a way as to allow the easy locating of rooms/spaces would be beneficial for all. The application would allow the user to identify their current location and plot a path to a specific room or building. A mobile version will utilize the phone’s location service to assist with the process.

The objective of this project is to enhance the experience of our campus visitors and both new and existing students who may encounter challenges in locating particular rooms within our extensive campus, thereby enhancing the overall experience of the campus.

GitHub Icon Link to the project

Project Documents

Research Document

Functional Specification

Design Document

Project Report

Technical Description


Firebase Icon


The project utilized Google's Realtime Database, known as Firebase, as its backend database solution. Firebase offers robust authentication and security features, streamlining the process of safeguarding data and restricting access to authorized users only. Notably, Firebase operates as a real-time database, ensuring that any modifications made to the data are instantly reflected in the application. One of Firebase's key advantages is its support for offline functionality, enabling users to access and modify data even without an internet connection. In such instances, the user's information is stored locally on their device. Once the connection is restored, Firebase seamlessly synchronizes the local data with the server, ensuring that the user's information remains up-to-date across all devices.

Main Application

Android Studio Icon

Android Studio

Android Studio served as the primary Integrated Development Environment (IDE) for this project. It offers a comprehensive suite of tools tailored specifically for Android app development, streamlining the entire development process. Android Studio includes powerful debugging tools, such as real-time error detection and performance profiling, helping developers identify and resolve issues quickly. Its comprehensive emulator and device testing capabilities ensure that apps run smoothly across various Android devices and screen sizes.

Java Icon


Java served as the primary programming language for developing this project. It was utilized extensively to build the core functionalities and logic of the application, leveraging its robustness and platform independence to ensure compatibility across various devices.

Admin Database Controller

Flask Icon


Flask was employed as the web framework for this project, facilitating the rapid development of web applications with Python. Its lightweight nature and simplicity allowed for the efficient creation of endpoints and handling of HTTP requests, making it an ideal choice for building the backend infrastructure.

Python Icon


Python played a pivotal role in this project, serving as the backbone for both backend and scripting tasks. Its versatility and rich ecosystem of libraries enabled seamless integration with Flask for web development, while also powering various data processing and automation tasks.



HTML formed the foundation of the controller project's frontend, providing the structural framework for designing and organizing the user interface. It was used to define the layout, content, and interactivity of web pages, ensuring a user-friendly experience for the application's interface.

CSS Icon


CSS complemented HTML in styling the project's frontend, enhancing the visual appeal and user experience. It was utilized to customize the appearance of elements such as fonts, colors, layouts, and animations, aligning with the project's design requirements and branding guidelines.

Version Control

Git Icon


Git served as a reliable version control system throughout the project. It allowed me to track changes, revert to previous versions if needed, and manage my project's history effectively. This ensured that I could experiment with different features or implementations without the fear of losing my progress.

GitHub Icon


GitHub acted as a centralized platform for hosting your project's repository. By storing my code on GitHub, I gained access to a range of features that streamlined your development process. These include the ability to easily synchronize my local repository with the remote one, as well as to showcase my project to others. Additionally, GitHub's issue tracking system provided a convenient way to manage tasks and keep track of any bugs or enhancements I encountered during development.


Marcel Zama

Name: Marcel Zama

Student ID: C00260146


GitHub LinkedIn
Oisin Cawley

Project Supervisor

Lecturer at SETU Carlow

Oisin Cawley