Skip to content

Ehtishammushtaq/EECS581-Capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapalyze

A web app that takes multiple floor plans and generates a 3D layout of a building appropriately marking stairs, hallways and rooms, with navigation features built on top.

Sprint 2

https://asrarfarooq.github.io/Mapalyze/

Sprint 3

Sprint 4

Sprint 5

Sprint 6

Sprint 7

Sprint 8

Sprint 9

  • Persist in refining code structure and remove redundant code

    • We removed some previously created yml files which were enabling us to deploye the app statically, but for the merger of the new backend we needed to get rid of them. This way we reduced some redundancy that allowed us to move forward with our vision.
  • Execute phased deployment strategy:

    • As discussed in the meeting, we planned to execute phased deployment strategy since we were unsure of some of the things that would be used for deploying all of our micro-services. This would allow us some time to test our micro-services before we have public endpoints sending API requests. We did this by containerizing the Mapalyze (FrontEnd, Backend), ReactPlanner (FrontEnd, Backend), & the Parser into three different Web App services or App Spaces as Azure calls them. A demo was shown on how these services would communicate between each other.
  • Parser Microservice Deployment:

    • We used this guide by Microsoft to help us deploy our Parser as a micro-service in Azure. The results were promising though further testing and refinement is needed, the full deployment will stretch to next sprint, though we should have an early demo by next week. All the deployment is already done and the app is up and running locally as well as online. The code can be found here along with all the workflows.
  • Research Frontend - Parser linkage & Initiate Development

    • As discussed in the meeting this linkage was crucial in the development phase as it was the only workflow letting us send the image data to the parser and from there to the react planner, the research was done and discussed in the meeting that we could leverage the use of Azure App Spaces.

    • Here's a snapshot of how are getting the pipelines ready in Azure App spaces though it wasn't in the Sprint 9, we went a step ahead to make sure things go well as planned.

    • Snapshot of Azure App SpacesSnapshot of Azure App Spaces

  • Research File Upload and storage in Azure DB Research Parser - Editor linkage & Initiate Development

    • As previously discussed on multiple occasions, the image upload is an important element in the whole CI/CD pipeline as it gets the image data from the user and tries to convert it to compatible JSON.
    • We have been doing extensive research on how to utilize blobs or Azure File Storage options. Here is a research document, providing extensive detail about how we plan to add this feature to the architecture.
  • Fix Merge Conflicts, Reduce Branches

    • For this artifact we went ahead and deleted redundant branches and also have merged successfully everything to the main. This merger includes the latest Tailwind enhanced frontend and the good old dotnet backend used in hand with SQL database auth from azure to authenticate the user and let them use the app. For further development all the team members will now branch off of the new main to work on their individual tasks.
    • The merger introduced a lot of conflicts which were efficiently resolved by the team.
    • Here is the branch merger commit hash which showcases in detail the things that were merged.
  • Overall this sprint saw a lot of changes in terms of branches, tech stack, deployments as well as pre-laid out plans of CI/CD, pipelines, architecture, which will surely help our team achieve the goals of upcoming sprints.

Sprint 10

  • Completion of Deployment Process for Three Separate on Azure
    • We deployed everything to Azure, we used Azure App Services and App Spaces to deploy our codebase via VSCode CLI.
    • Post deployment we encountered functionality issues which we'll fix in the upcoming sprint.
  • Enhanced Line Detection in Parser Module
    • This was done by Nikhil to improve the edge detection and will be demoed in the next Weekly meeting, since there's no way of showing it here.
  • Initiation of Research on Pipelines and API Endpoint Integration
    • The research was laid out to see how are we finally going to connect these services offline as well as online. The research doc will be posted on our site.
  • Research and Development on Dynamic Deployment Using Azure App Services and App Spaces
    • This artifact was demoed to the TA, in the last sprint where we deployed the flask app, using azure app spaces
    • The deployment detail and the links can be found here
  • MVP Testing and Bug Fixing Post-Deployment
    • We are rigorously testing the product we have up until now, we are facing a lot of unexpected issues post-deployment and have identified majority of them and will try to finish fixing them in the next sprint.

Sprint 11

  • Fixed deployment issues with Azure.
    • We attempted to resolve the deployment issues with Azure, but .NET was not compatible with our version of the parser. We also tried running the parser as a separate micro-service, but that was unsuccessful. Consequently, we proceeded with our fallback plan.
  • API endpoints for Mapalyze
    • We added API endpoints for Mapalyze that enabled users to import floor plans successfully. These floor plans were then sent to the backend of ReactPlanner through an API call. The implementation can be found here.
  • Work to get everything operational locally.
    • We successfully demoed our MVP to the TA. Before finalizing the MVP, we made some design modifications to our existing architecture.
    • We integrated the Parser with the ReactPlanner backend, as it was more feasible to do so. The RP backend is written in JavaScript, which integrates more smoothly with Python than our .NET React App (Mapalyze).
    • New Architecture of our product
  • Added file upload on the Main Page of Mapalyze
    • In line with the API artifact discussed earlier, we implemented a file upload feature on the Main Page of Mapalyze and modified the backend of ReactPlanner to support these changes. The specific code changes can be viewed here.
  • Resolved the Parser resolution issue for various monitors
    • We addressed the resolution issues our parser had with screens of different sizes by enlarging the canvas to accommodate various screen sizes. The updated parser code is available here. We also improved line detection by scaling input images to better fit spaces in the floor plans.
  • Conducted additional testing
    • Further testing uncovered issues with IP configurations during login and some problems with the folder structures set up to retrieve JSON files. We plan to address these in the upcoming sprint.

Sprint 12

  • Set up folder directories for JSON files
    • For this requirement we added a dedicated folder that stores the JSON files obtained after parsing, this ensures that the planner is able to generate the floor plans properly after fetching the JSON. Here is the code for elaboration Github Commit Link
  • Fixing retrieval directories for uploaded floor plans
    • For this artifact we setup an uploads folder that would store the upcoming uploaded image that was sent via an API call from the Mapalyze front end. This would ensure the image is stored in a proper pipeline before being sent to the parser. Github link for the code is here.
  • Resolve public access/IP issues in Azure firewall.
    • We faced issues with login when any user who didn't own the database or whose IP wasn't added to firewall was blocked from the traffic. We made sure all valid user's are able to get into the app by setting up new firewall policies. Azure Firewall Snapshot
  • Complete the SQL DB update on the new Azure Resource Group
    • Our previous DB is no longer operational as it was on a free subscription, and we have exhausted the credits allocated to it. We have now migrating to a new, identical DB, maintaining the users and hashes.
    • enter image description here
  • Implemented holistic changes in the Frontend
    • We plan to continue refine minor front-end and UI/UX components to make the app user friendly.
  • Test the MVP
    • We again are continuously testing the app which revealed that the parser is taking a lot of time for images with multiple edges, again this issue will be fixed in future sprints if possible.

Final Sprint

  • Front-End Documentation
    • Attached a document detailing the Front-End, Link.
  • Back-End Codebase Documentation
    • Attached a document detailing the Back-End, Link.
  • Database and Architecture Documentation
    • Attached a document detailing the DB & Arch, Link.
  • Parser Documentation
    • Attached a document detailing the Parser, Link.
  • Minor Front-End Enhancements
    • We made some minor enhancements regarding colors and elements, to make the UI user friendly and neat.
  • Testing
    • We also did additional testing and we think we are finished with the whole deployment.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •