On the backend, ARTLAB utilizes a RESTful API, using Node.js. On the front end, all of the magic happens through the p5.js library!
- HTML
- CSS
- JavaScript
- jQuery
- p5.js
- Bootstrap
- Node.js
- Express
- Mocha
- Chai
- Mongo
- Mongoose
- bcryptjs
- Passport
- Heroku
- TravisCI
- mLab
A working prototype of this app can be viewed at https://radiant-scrubland-40519.herokuapp.com/showcase.html
Future updates will include:
- Add additional drawing tools
- Add more animation guides for different subjects
- Add audio tools
- Add tools to remix existing artwork
After submitting the artwork, the user is presented with the option of viewing their still artwork, in a gallery setting. Functionality is currently in the works to allow the user to click through all of their previously created works, but currently the art is loaded on page refreshes.
Alternatively, the user can see the animation which their artwork has been absorbed into. The reason for having each user’s drawing be the frame of a greater animation, is two-fold. On a concrete level it creates a goal to work toward, providing motivation during the learning process. On a abstract and philosophical level, it allows the user to realize that they both are and have the potential to be a part of something greater than simply themselves, an idea that is reinforced through a positive, social collaboration. Could they rebel and not follow the provided guides? Yes, but in doing so they will still be connected to all of the other users by adding a little spice to the animation.
The images are created in a vector coordinate system, similar to an svg. Colors, coordinates, and radius are stored in an object within each artwork’s database object. This allows the images and drawing program to be infinitely scalable in a responsive web environment. It also allows potential for the data to be reworked, remixed and experimented with. For example, each user drawing could be merged into one still canvas, with colors and sizing changes to individual images.