Code repository for the Oberlin College Computer Science 2024 Winter Term p2p Software Application Project
- Source
set-up-python-venv.sh
- Run
make
For example:
. set-up-python-venv.sh
make
This will initialize a python environment and activate it locally to this project. To tear down the
environment execute the deactivate
command at your shell prompt.
Oberlin College Winter Term 2024 - CS p2p Software Application Project
- Peer-to-peer Collaborative Art Generator where peers contribute Art Fragments to a drawing asynchronously in response to a Commission.
- An Originator Artist (peer) announces a Commission for an Art Piece to create with constraints (e.g., color palette, limit to geometric shapes, limit to abstract shapes, etc).
- For the MVP implementation, the application will generate simple Art Fragments. It is not an AI generative art application. Though, pluggable generation may be considered.
- Commissions and contributes to Collaborative Art Pieces.
- Contributes to Collaborative Art Pieces.
- Collects and trades Art Pieces.
- Commissions Remix Art based on Art Pieces in their Collection.
- As an Originator Artist, I can Commission a new Art Piece, specifying constraints and a deadline, so that Contributors can provide Art Fragments.
- As an Originator Artist, I can sign the completed Art Piece I commissioned, so that it can be verified as the original.
- As a Contributor artist, I can receive Commission announcements, so that I can contribute Art Fragments that I generate.
- As a Contributor artist, I can integrate Art Fragments from other Contributor Artists, so that my local canvas reflects the current state of the Art Piece.
- As an Art Collector, I can trade Art Pieces that I own for Art Pieces others own, so that I can vary my art collection.
- As an Art Collector, I can Commission an Art Piece to enhance, so that I can make Remix Art.
- Integration of Art Fragment Contributions will be executed throughout the peers in a decentralized fashion.
- May try https://pypi.org/project/nose/ for running tests for its enhanced feature set. The simple
Makefile
usingunittest
's test discovery feature suffices to start.
We read and discussed the following papers to serve as input and inspiration for the application specified above.