Skip to content

CPSC 4900 Group Project - Involves using a GUI that has GUI object elements within that are to be used to, in some way, generate a webpage or site.

Notifications You must be signed in to change notification settings

nwinn-student/objects-to-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

objects-to-web

The name has yet to be fully fleshed out.

Note

This project is intended to be used as a college project, as such do not expect much maintenance past December 2024. Recommended to place the jar file within a folder, since it will create files upon usage and you don't want any of your existing files to be overwritten. The creation layout was temporarily adjusted and will need to be adjusted later.

CPSC 4900 Group Project - Involves using a GUI that has GUI object elements within that are to be used to, in some way, generate and adjust a webpage or site. The primary usage is adjusting.

Requirements

Java 17+

Idea

A user-friendly GUI that generates HTML/PHP pages with an identical style, but the contents of the page can be modified via the GUI. The GUI assists in the organization and potentially navigation of the pages. The prioritization is the adjusting of contents en masse of the files.

Course Task List
  • Submit Formation of Project Teams
  • Submit Github Repository
  • Read Github README Formatting should you want to work on the README, makes it easier to understand what does what.
  • Submit Project Vision for the Course Project
  • Submit Project Team Roles
  • Submit Product Backlog
  • Submit Plan of Sprint 1
  • Submit Personas, Scenarios, and User Stories
  • Submit Sprint 1 Report and Deliverables
  • Presentation
  • Submit Plan of Sprint 2
  • Submit Software Architecture
  • Submit Sprint 2 Report and Deliverables
  • Presentation
  • Submit Plan of Sprint 3
  • Submit Sprint 3 Report and Deliverables
  • Final Presentation
  • Demo/Video

Product Vision

The product vision being used for the group project.

FOR individuals looking to set up uniform website pages, website developers, or hobbyists WHO wish to spend more time on the contents within the page rather than the code behind the page. Small businesses can also benefit from the product considering they may have limited resources, teams, or budget. The target set of customers are information website managers that are looking to reduce the labor cost and ensure the developers or hobbyists will have more time to work on other tasks. The TEK-GUI is an open-source application software which focuses vertically on website development THAT facilitates the creation and overall management of webpages whilst ensuring that the contents are abstracted into a more understandable format. This abstraction allows customers, with no technical background, to create a well-designed product without heavy expenses or frustrations. It implements a user-friendly graphical user interface, GUI, that will allow users to generate HTML/PHP pages with a consistent style. UNLIKE Fandom, whose web page editing user interface, whether old or new, forces the user to have an overall sluggish experience, the focus of TEK-GUI is to speed up the process and make it more enjoyable visually. Not only can TEK-GUI speed up the process, it can also allow for multiple pages to be adjusted in quick succession, whereas Fandom requires the editor to publish and navigate to another page before editing. OUR PRODUCT filters out the complex information and allows for the customer to navigate through the information at a faster pace when searching for an unknown item through the contents of the page. Reducing the time cost of creating and maintaining the code will greatly improve customer performance and overall experience.

Collaborators

Username Role
MaraDoze Product Owner
Zysteriya Development Team
SomeoneSomebody Development Team
nwinn-student Scrummaster
coby0815 Development Team

Meetings

The dates and summary of the meetings that occurred or are planned.
Date Meeting Type Focus
Sept. 5, 2024 Planning Product Vision understanding and outline
Sept. 6, 2024 Rapid Progress Complete the Product Vision
Sept. 9, 2024 Planning/Preparing Work on meeting schedule and product backlog and Project Team Roles.
Sept. 12, 2024 (FIRST FULL) Backlog Refinement and Consolidation Ensure consensus on Product backlog, finish Project Team Roles, and plan next meeting.
Sept. 16, 2024 Sprint Planning Schedule meetings for Sprint 1, have members choose their task, and plan next meeting.
Sept. 19, 2024 Sprint Check-in Check in w/ team and generally plan personas and plan next meeting.
Sept. 23, 2024 Sprint Check-in Check-in w/ team and plan next meeting.
Sept. 27, 2024 Preparing Work on personas and scenarios and plan next meeting.
Sept. 30, 2024 Refinement Work on scenario and user stories and plan next meeting.
Oct. 3, 2024 Preparing Go over Sprint Report and Deliverables and Presentation and plan next meeting.
Oct. 7, 2024 Preparing Prepare for Presentation
Oct. 9, 2024 Emergency Meeting Review code, report, and presentation.
Oct. 10, 2024 Sprint Planning Schedule meetings for Sprint 1, have members choose their task, and plan next meeting.
Oct. 17, 2024 Planning Clarify tasks and prepare for Software Architecture and plan next meeting.
Oct. 21, 2024 Sprint Check-in Check-in w/ team and try to flesh out Software Architecture and plan next meeting.
Oct. 24, 2024 Preparing Complete Software Architecture and prepare for Sprint Report and Deliverables.
Oct. 28, 2024 Preparing Flesh out Sprint Report and Deliverables.
Oct. 31, 2024 Preparing Review Sprint Report and Deliverables and presentation.
Nov. 4, 2024 Preparing Review for presentation and choose tasks for Sprint 3 Plan.
Nov. 7, 2024 Sprint Planning Assign tasks and complete sprint plan.
Nov. 11, 2024 Sprint Check-in Clarify tasks and prepare sprint report.
Nov. 14, 2024 Preparing Flesh out sprint report and work on presentation.
Nov. 18, 2024 Final Lap Finish both presentation and report and start final presentation.
Nov. 25, 2024 Demo Day Meeting to perform the demo during.

Features

Current Features.
Title Code State
Frame UI Creation and Functionality Accepted
Object UI Base Structure Accepted
Open and Save Feature Accepted
Parse HTML from File Contents Accepted
Singular Object Selection Accepted
UI Menu and Tools Feature Accepted
Object Creation and Deletion Accepted
Read Contents of Objects from Inputs Accepted
Edit View to See the Contents of Object Integrated
Common Application Menu and Tools Features Accepted
Object Control Shortcut System Integrated
Object Content Adjusting Integrated
Generate HTML from Objects Integrated
Single Object Moving Feature Accepted
Undo and Redo Actions on Objects Accepted
Remember Recently Used Files Accepted
Object Highlighting Accepted
Remembrance of Frame Location Reviewed
Populating Popup Menu with Common Features Accepted
Mass Object Selection Accepted
Object Relationship System Integrated
Object Connections Visualized Integrated
Mass Object Moving Feature Integrated
Frame UI Accessibility Integrated
Planned Features

There are always going to be features that weren't planned that will be implemented and vice verca.

Title Description Estimated Cost Difficulty Rating
Sprint 1
Frame UI Creation and Functionality Creates a Java GUI frame that can be closed, iconified, scaled, moved, and added to. Should the user press the X button on the top right it shall either exit the application or prompt for the user to save. 3 hours, 1 person 5
Object UI Base Structure An Object UI consists of a name, creation time, position, and size and the ability to obtain them. 3 hours, 1 person 2
Open and Save Feature The ability for the GUI to read and write to files that are selected by the user. 3 hours, 1 person 2
Parse HTML from File Contents HTML parsing consists of the input byte stream from the file contents, processing to remove escape characters, then cleaned of comments and altered to make it understandable for objects, like removing in-line styling and JavaScript. 15 hours, 3 people 16
Singular Object Selection The ability to select a single Object that actions can be performed on. The selection could be via a mouse interaction or a keyboard shortcut or a way to navigate the Objects in order to select. 3 hours, 1 person 3
UI Menu and Tools Feature The existence of a UI menu bar and toolbar feature that can easily be adjusted to accommodate new menu items and tools. 3 hours, 1 person 5
Object Creation and Deletion UI Objects, rectangles, can visually be removed and added to the Frame UI by reading in inputs, whether directories, files, keyboard key presses, or mouse interactions. 3 hours, 2 people 4
Read Contents of Objects from Inputs An Object contents, that is what an object holds possession of, can be obtained from files input. The contents of an Object includes its properties, such as the title of the document, headings, and more, as they are stored within the Object structure. 4 hours, 2 people 3
Edit View to See the Contents of Object A new Frame UI or otherwise UI element that can be used to distinguish the one holding the Objects from the one holding the Object contents and properties. The Edit View displays all of the contents within the Object, including the base structure and relationships. 5 hours, 2 people 9
Object Content Adjusting Content within the Object can be readily adjusted by the user, such as the ability to disable titles, headers, and other variants that the content may hold, or hide them from view. The ability to alter the Object contents themselves is also presented within this feature. 6 hours, 2 people 7
Sprint 2
Generate HTML from Objects Contents of the Object should be read then used to create the HTML file, altering the contents of an existing should that be necessary. The reverse of parsing. 12 hours, 3 people 17
Single Object Moving Feature The ability for an Object to be moved around the Frame UI by mouse dragging or selection and keyboard presses. In the case of selection, arrow keys or WASD can be used to navigate the Frame, which shall be considered within the scope of moving. 4 hours, 2 people 4
Common Application Menu and Tools Feature Common features supported, like Zooming, Fullscreen, Exiting, New file creation, alongside the control shortcut features, save, open, and export features. The creation and deletion should also be facilitated via the menu alongside editing. Other menu items can be added later as the group thinks of them. Like a tutorial or settings. 20 hours, 4 people 11
Object Control Shortcut System Objects can be copied, duplicated, cut, pasted, found and replaced, all selected. The feature extends into the Object’s content. 8 hours, 3 people 10
Undo and Redo Actions on Objects Actions such as resizing, moving, editing the relationship, and otherwise altering the contents of the Object will be able to be undone/redone. The feature extends into the Object’s content. 14 hours, 2 people 14
Remember Recently Used Files Saves the recently used files, alongside the position of the previously closed one so that the user can be where they left off whenever reopening the application, in a text file. 7 hours, 2 people 7
Object Highlighting The ability to indicate that an Object will be selected should the user click on it, via hovering, or be selected should the user press enter. A way to distinguish which item is being focused. 4 hours, 1 person 4
Remembrance of Frame Location Saves the frame location and size percentages in a text file to be read from upon opening up the application. 5 hours, 1 person 6
Populating Popup Menu with Common Features Utilizes the sections of the Menu and Tool feature, but only includes sections that are most commonly used, like some control shortcuts and editing. 6 hours, 2 people 8
Mass Object Selection The ability to select a range of UI Objects using a mouse drag selector that creates a box and anything within the box shall be selected. Another approach would be to create a means to select multiple using a series of keyboard presses, similar to Single Object Selection. 5 hours, 1 person 7
Object Relationship System UI Objects can be related to one another, creating a hierarchical structure of objects, thus adding a parent Object and list of child Objects stored within each Object. Both or all related Objects should know when they are in the relationship and when it has ended. The parent may be a directory instead of a file, but it will still be considered an Object, just void of contents aside from the name and relationship. 5 hours, 2 people 5
Object Connections Visualized Object connections are visualized based on new UI elements that directly connect two or more Object UIs together in order to show a relationship. The connections should follow the Object UI even if it has been moved. 6 hours, 2 people 11
Mass Object Moving Feature The ability for a multitude of UI Objects to be manipulated across the screen though the usage of mouse drags on any of the Objects or keyboard presses, much like the Singular Object Moving Feature described. 5 hours, 2 people 13
Object Content Creation and Deletion Allows for content to be created and deleted from the Object and displayed on the Edit View immediately. 6 hours, 2 people 10
Object Content Collapsing in Edit View A collection or single piece of content, whether it be a paragraph or an entire table, can be collapsed to reduce the scroll time 4 hours, 3 people 12
Object Content Ordering in Edit View Content within the Object can be reordered, translating to a reordered output as well when converting from Object to HTML. 6 hours, 2 people 11
Frame UI Accessibility The components within the Frame UI can be adjusted to be more accessibility friendly, including the customization of colors for those colorblind, and Tooltip text for those visually impaired. Can be considered the Settings of the Frame UI, as it facilitates customization. 8 hours, 2 people 9
Remember Settings Saves the settings in text file to be read from upon opening the application again. 4 hours, 2 people 5
Visualize Input HTML The ability for the Frame UI to have another framelike UI element that can display a preview of the website version of the HTML, in-line CSS supported. 5 hours, 2 people 5
Support for Multiple Screen Sizes Screen size adjustments throughout the process of utilizing the application do not impact the size of position of the Frame UI. 9 hours, 2 people 7
Object Visuals Based on Presets or Settings Object coloring, connection scheme, selected color, highlighted color, and more properties of the Object visuals can be adjusted to the user’s will based on presets, or themes, or settings. 7 hours, 2 people 5

Acknowledgements/Inspirations

Source Inspired Explanation
L. Cornelius Dol ControlArea ControlArea utilizes his TextAreaOutputStream class to customize the output experience for the developers.

About

CPSC 4900 Group Project - Involves using a GUI that has GUI object elements within that are to be used to, in some way, generate a webpage or site.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages