The Snap!Cloud is a backend for Snap! that stores only metadata in a database for reduced query response time, while storing actual contents in disk.
- Leafo's Lapis is the lightweight, fast, powerful and versatile Lua web framework that powers the Snap Cloud - [ MIT ]
- The PostgreSQL database holds almost all the data, while the rest is stored to disk. - [ PostgreSQL license ]
- Lubyk's XML module is used to parse thumbnails and notes out of projects. - [ MIT ]
- Michal Kottman's LuaCrypto module is the Lua frontend to the OpenSSL library. - [ MIT ]
- Leafo's PgMoon module is used to connect to the PostgreSQL database for migrations - [ MIT ]
- Matt Holt's Papaparse library is used to parse CSV files for bulk account creation. - [ MIT ]
- Eli Grey's FileSaver.js library is used to save project files from the project page, and maybe elsewhere - [ MIT ]
- Bootstrap 5, npm
See the INSTALL.md file for installation instructions.
The Snap!Cloud is currently live at https://snap.berkeley.edu. See the API description page at https://snap.berkeley.edu/static/API.
Please read CONTRIBUTING.md before sending us any pull requests. Thank you!