Skip to content
This repository has been archived by the owner on Jan 14, 2025. It is now read-only.

2024-CMPU9010-GROUP-3/magpie

Repository files navigation

Magpie: Services at a Glance

Repository for Group 3 of the TU Dublin ASD/DS masters Group Project

GitHub Actions Workflow Status GitHub Actions Workflow Status GitHub Actions Workflow Status

❓ What is this repository for?

Magpie is a geographical information service that allows Civil Planners and other users to easily explore public amenities 'at a glance'.

You can access a hosted version of the project here.

✨ Features

  • Geographical Information Service: Easily explore public amenities such as parking spaces, bike sheds, and accessible ramps.
  • User Authentication: Secure login and registration for users.
  • Data Integration: Integrates various data sources for comprehensive information.
  • Interactive Maps: Visual representation of amenities on a map interface.
  • Automated Annotations: Uses machine learning to automate the annotation of geographical data.
  • Deployment Options: Supports Docker Compose and Kubernetes for deployment.

📂 Repository Structure

The file structure is as follows:

📁
├──📁 Backend # Private and Public Services
│   ├──📁 cmd
│   ├──📁 internal
│   └──📁 sql
├──📁 Distribution
│   ├──📁 compose # Docker Compose Deployment
│   └──📁 kubernetes # Kubernetes Deployment
├──📁 Documentation
│   ├──📁 gantt-chart
│   ├──📁 interim-report
│   ├──📁 mom # Daily Meetings
│   ├──📁 presentation # Weekly Presentation
│   ├──📁 project plan
│   ├──📁 retrospectives # Weekly Retrospectives
│   ├──📁 survey
│   └──📁 ux-documents # General UI/UX Doc Repository
├──📁 Frontend
│   ├──📁 public
│   └──📁 src
└──📁 Python
    ├──📁 charts # Visual Representations
    ├──📁 notebooks # ML Testing and Notes
    ├──📁 script # Production Scripts
    └──📁 yolo # Custom YoLo model

🚀 Deploying the application

Magpie is provided as a docker-compose and kubernetes deployment.

  • The docker-compose is intended for local development, but can be used for production if desired (for example on a vps). It's built to be simple, and easy to setup.

  • The kubernetes deployment is intended for production use. However an existing load-balancer, ingress-controller and cert-manager are required on the cluster.

⚙️ Using the development containers

This repository is set up to use dev containers for development. To use them, you will need:

Once installed, open the command pallet with Ctrl+Shift+P and type Dev Containers: Open Folder in Container. Then select the desired folder.

📚 Additional Information

Each of the top level directories contains a README.md file with more information about the contents of that directory. Please refer to these files for more information about each part of the project.

🤝 Contribution

This repo is intended for our Masters Group Project as part of the TUDublin MSc ASD / DS course. We are not accepting contributions at this time.

📝 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

🎖️ Acknowledgments

Name GitHub Username Email
Anais Blenet @anaisbl TODO
Andreas Kraus @ankraus TODO
Jessica Fornetti @JessicaFornetti TODO
Kaustubh Trivedi @KaustubhTrivedi kaus12tri@gmail.com
Saul Burgess @1Solon burgesssaul@gmail.com
Yuanshuo Du @YuanshuoDu TODO

Thanks to our lecturers and (especially) our supervisor for their guidance and support throughout the project!