Giter Club home page Giter Club logo

gsoc24-ifctester-webapp's Introduction

IfcTester WebApp

Project Overview

The IfcTester WebApp aims to enhance the functionality and user experience of the existing IfcTester application. This project focuses on creating a web application to inspect, edit, and validate information inside IDS (Information Delivery Specifications) files against IFC (Industry Foundation Classes) files. The key features include a user-friendly interface, drag-and-drop functionality, and comprehensive validation capabilities.

Project Features

Backend

  • Load IDS File: Parses .ids files into JSON format for frontend consumption.
  • Save IDS File: Saves the edited IDS file back into .ids format.
  • Audit IFC File: Validates the IFC file against the specifications in the IDS file.

Frontend

  • Drag and Drop Functionality: Allows users to easily reorder facets and specifications.
  • Facet Menu Editor: Provides a user-friendly interface to edit different facets.
  • IDS Import Library: Enables users to import IDS specifications and add them via drag-and-drop.
  • Error Boundaries: Displays personalized error messages for improved user experience.
  • Validation Results: Highlights validated results with color-coded borders.

Tech Stack

Frontend

  • HTML
  • CSS
  • JavaScript (Web Components)

Backend

  • FastAPI
  • ifcTester Python library

Project Discussions:

Links
Project Github Issue
Project Discussion
Gsoc Proposal - Kshitij Roodkee

gsoc24-ifctester-webapp's People

Contributors

horizenight avatar

Stargazers

JoseVargas avatar Owura_qu avatar Vukas Pajic avatar

Watchers

JoseVargas avatar  avatar Vukas Pajic avatar Balaji Balagurusami avatar

gsoc24-ifctester-webapp's Issues

Creating Separate Repository

Task:

  • Create a separate Repository for the Project
  • Decided to use separate folders within repository : Frontend and Backend

Weekly Timeline : Project Plan

Project Timeline

Weekly Schedule

Week Dates Work Status
Week 1 27th May - 2nd June Project Discussion and Finalization of Features, Development Process, Setting up Daily Sync-Ups, Schedule Meeting with BimVoice, Understand Project Features to develop [x]
Week 2 3rd June - 9th June Implement Backend in FastAPI and IFCTester Library, Make the Frontend Integration with Backend, Display Backend Results on Frontend [x]
Week 3 10th - 16th June Integrate the WebComponent Logic with the Backend, Replicate the already built functionality to work fine with the FastAPI Backend, Fix the HTML5 API [x]
Week 4 17th - 23rd June Host the Frontend and Backend and Create a CI/CD pipeline for hosting, Implement IDS Specs Library Feature, Implement Error Boundaries (Wrong File Upload) [ ]
Week 5 24th - 30th June Discussion on Facet Menu Editor Design, Discussion and Implementation Plan [ ]
Week 6 1st - 7th July Implement the Facet Menu Editor [ ]
Week 7 8th - 13th July Implement and incorporate various facets iteratively in the Facet Menu Editor one at a time [ ]
Week 8 14th - 21st July Extend the Backend to fix the Auditing Feature, Discussion on the Frontend Component for the Auditing Feature [ ]
Week 9 22nd - 28th July Implement the Auditing Feature Component [ ]
Week 10 29th July - 4th Aug Project Deployment: Frontend Hosting and Backend Deployment [ ]
Week 11 5th - 11th Aug Implementing Additional Features (Based on Discussion at that time), Finishing up the Backlog [ ]
Week 12 12th - 18th Aug Feedback and Improvement, Finishing Up the Backlog [ ]
Week 13 19th - 26th Aug Contributor Final Submission [ ]

The timeline is subject to change as per discussion but will be followed more closely.

Project Structuring

Project Structuring

The project will be in a separate GitHub repository and will be transferred to the main project later.

Project Structure

  • Frontend
  • Backend

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.