2. Web App Overview - WebJamApps/JaMmusic GitHub Wiki
2.1 Product Perspective
This is a web application accessible from a Chrome, Edge, or Safari browser. It provides a responsive design (allows for the interface to adapt with respect to cell phone or computer monitor displays). The application is partitioned into two codebases (client-side and server-side) that run on the NodeJS engine, use a noSQL datastore (MongoDB), and are hosted in a PaaS (Platform as a Service) offering (Heroku).
2.2 Technologies
Note: As our project evolves, new packages will be incorporated as needed. Refer to the package.json file for a current list of included technologies.
NodeJS: Web server and backend runtime
ExpressJS: Middleware Management Framework
MongoDB: Document data store
mLab: loud hosted MongoDB as a service
Mongoose: Document data store framework for MongoDB
GitHub: Code repository, version control, and collaboration
ZenHub: Agile project management
Heroku: PaaS hosting platform
Google Polymer: User interface web component library
ESNext: We intend to write our frontend JavaScript using the latest versions of ECMAScript, and use Babel to transpile it down for older browser support.
Babel: Transpiles the javascript to be browser compatible as configured
Webpack: Build and task runner used for the front end - our goal is to use the most minimal Webpack configuration as possible that enable fast loading