-
Notifications
You must be signed in to change notification settings - Fork 2
4. Architecture
This is a Client/Server architecture with a database holding the information for both the users and the salons. The requests are generated and pushed out to users based on location and service.
The application is written using the MEAN stack. MEAN is a framework for an easy starting point with MongoDB, Node.js, Express, and AngularJS based applications. It is designed to give a quick and organized way to start developing MEAN based web apps with useful modules like Mongoose and Passport pre-bundled and configured. It mainly tries to take care of the connection points between existing popular frameworks and solve common integration problems. The client side is developed using the Ionic 2 framework, making the client a cross-platform app that can be built either for Android, IOS or Windows Phone using the same source code.
MEAN stands for: MongoDB,Express, AngularJs and NodeJs.
MongoDB takes care of the persistence, providing a document store database where information about customers, salons and bookings will be stored.
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
AngularJs lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. It s a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries. Every feature can be modified or replaced to suit your unique development workflow and feature needs.
NodeJs is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
Ionic 2 is an HTML5 mobile app development framework targeted at building hybrid mobile apps. Hybrid apps are essentially small websites running in a browser shell in an app that have access to the native platform layer. Is the front-end UI framework that handles all of the look and feel and UI interactions the app needs in order to be compelling. Since it is an HTML5 framework, it needs a native wrapper, in this case I used Cordova