Assignment 4: Solution Development
Assignment 4: Solution Development
Design each task in a problem-solving effort so that it is most fruitful and provides the most information or guidance
Use various attributes of the final solution state to guide earlier decisions made along the solution path
Define design goals and design specifications
Eliminate paths that do not satisfy the desired design goals and/or specifications
Program Outcome 2: (Design)
2.3 (Technical design) Students will be able to adjust the overall design of a project by changing or adding a component, developing a representation of the initial understanding of the project design and evolving it to a detailed representation that establishes a "design, test, and build" process based on inputs, outputs, and variables defined by successive levels (hierarchical) of components and subsystems.
Our Work:
Determine the best database model for the platform that meets the specifications and goals for the project.
Design a system that promotes communities focused around artwork and not emphasizes individuals as much.
Design a tagging system that's both powerful and easy to use for users in both adding them to artworks and also searching artworks with.
The final solution state of the project is to create an online platform for artists centered around creating and sharing artwork and fostering communities dedicated to specific artworks.
The platform should be able to easily expand to fit future demand such as serving more users and storing more artwork.
The platform shall be able to be accessed and used on various platforms, with the minimum being full functionality on PC, IOS, and Android on at least a web browser.
Goals:
Create an artwork-first platform that promotes artwork-centered communities instead of individual-centered posts.
The platform shall be reliable and easy to expand for increased demands in the future.
Use a tagging system that allows artwork creators, posters, and members of the community to tag artwork with the content of the artwork, such as characters, franchises, and anything that describes the artwork in a way that people would search using.
Specifications:
The platform shall be accessible and fully functional on the most used platforms and browsers, such as Chrome, Firefox, OperaGX, Safari, and platforms like Windows, IOS, MacOS, and Android.
A database system that is reliable, redundant, highly scalable, and performant to users with minimum latency accessing platform functions and content.
The tagging system should allow users to search for specific artworks by tags, such as searching for specific mediums of artwork, multiple tags should be able to be used at the same time for users to better refine their search. The tagging system should be tiered, with at least 2 tiers of tags that can be used and also searched for:
Tier-1, Artist Only: Any tags chosen by the artist on any artwork they post, this would primarily be things like a community that the artwork would belong to, characters, the medium used (oil, watercolor, digital, etc...), genres, and anything else the artist wishes to add.
Tier-2, Community: Any tags that aren't tier-1 that can be used to describe the artwork in any way people would search for, such as objects appearing in the artwork. This would be more consensus driven and people can propose and vote on adding or removing tags to artworks. A moderation system should also be present to prevent malicious users from abusing the tagging system by adding incorrect tags to images.
Avoid trying to become another social media platform similar to platforms like Twitter, Facebook, Instagram, etc... The primary focus should be on the artwork and communities around the artwork.