Zip file structure:
-admin - angular // angular version -app // folder with non-builded angular app -dist // folder with builded angular app |-compiled // builded app with compiled files |-uncompiled // builded app with uncompiled files - non-angular // non-angular version -corporate // corporate web template -ecommerce // ecommerce web template -documentation // there you can find pdf documentation -psd // there are some psd's
If you want to change App Name or some default layout settings you can do that in controller "MainCtrl" located at app/scripts/controllers/main.js
Build your own project using Yeoman scaffolding tool, Bower dependencies management tool and Grunt automation tool.
For properly using this project you will need some tools installed on your computer.
node --version
and npm --version
. You can download Node.js heresass -v
npm install
and bower install
grunt serve
You can download Node.js here. Install it and check it in your terminal window with node --version
and npm --version
. If you get in some troubles try google it.
Now when you have node installed get to the root directory in terminal window and run command npm install
. Node will download and install all dependencies for you.
Yeoman is a scaffolding tool which is making your workflow clear, but if you don't want to use it so you do not.
You can easily install Yeoman with npm running this command in terminal npm install -g yo
As this project is builded with Angular you will need to use angular-generator with yeoman so install it with this command npm install -g generator-angular
You can find Yeoman documentation here
Bower works by fetching and installing packages from all over, taking care of hunting, finding, downloading, and saving the stuff you’re looking for. Bower keeps track of these packages in a manifest file, bower.json
.
{ "name": "minovate", "version": "0.0.0", "dependencies": { "angular": "1.2.18", "json3": "~3.3.1", "es5-shim": "~3.1.0", "bootstrap": "~3.2.0", "angular-resource": "1.2.18", "angular-cookies": "1.2.18", "angular-sanitize": "1.2.18", "angular-animate": "1.2.18", "angular-touch": "1.2.18", "bourbon": "~4.0.2", "angular-fontawesome": "~0.1.2", "font-awesome": "~4.2.0", "weather-icons": "~0.0.1", "angular-bootstrap": "~0.11.2", "jquery.slimscroll": "~1.3.1", "animate.css": "~3.2.0", "jquery.sparkline": "http://omnipotent.net/jquery.sparkline/2.1.2/jquery.sparkline.js", "angular-loading-bar": "~0.5.1", "angular-ui-router": "~0.2.11", "angular-ui-utils": "~0.1.1", "bootstrap-daterangepicker": "~1.3.12", "ng-bs-daterangepicker": "~0.0.3", "angular-momentjs": "~0.1.8", "angular-fullscreen": "~1.0.0", "angular-ui-tree": "~2.1.5", "simple-line-icons": "~0.0.1", "html.sortable": "~0.1.5", "angular-toastr": "~0.4.0", "angular-bootstrap-nav-tree": "*", "oclazyload": "~0.3.8", "chosen": "https://github.com/harvesthq/chosen/releases/download/v1.2.0/chosen_v1.2.0.zip", "angular-ui-select": "~0.8.3", "textAngular": "~1.2.2", "angular-bootstrap-colorpicker": "~3.0.8", "angular-file-upload": "~1.1.5", "ngImgCrop": "~0.2.0", "angular-datatables": "~0.2.1", "angular-ui-grid": "~3.0.0-rc.12", "ng-table": "~0.3.3", "angular-smart-table": "~1.4.2", "morrisjs": "~0.5.1", "flot": "~0.8.3", "flot.tooltip": "~0.8.4", "angular-flot": "~0.0.6", "flot-spline": "*", "d3": "~3.4.13", "rickshaw": "~1.5.0", "angular-rickshaw": "~0.5.0", "owl-carousel": "~1.3.2", "angular-google-maps": "~2.0.9", "angular-ui-calendar": "~0.8.1" }, "devDependencies": { "angular-mocks": "1.2.16", "angular-scenario": "1.2.16" }, "appPath": "app" }
You can easily install Yeoman with npm running this command in terminal npm install -g bower
Now when you have bower installed get to the root directory in terminal window and run command bower install
. Bower will download and install all dependencies from bower.json
file for you.
If you want add and install any additional dependency you can do it by running this command in root folder bower install 'package name'
Grunt will need Sass to be installed to compile Sass files into css and run project properly so we need to install it.
As first you need ruby installed on your computer. On windows download and install rubyinstaller from here. If you have ruby installed you can download sass gem with this command gem install sass
. You can check if sass is installed properly by sass -v
If we have Sass installed run this command npm install grunt-contrib-sass --save-dev
, after that we can use grunt to compile Sass files into css.
You can check documentation for Sass here or check this tutorial
Grunt is a JavaScript task runner (Automation), save yourself from repetitive tasks.
There are two important files for grunt Grunfile.js and package.json. Gruntfile.js contains configurations for all plugins that grunt use. In package.json you can find all plugins that grunt use.
As we have all configured in this project we can run localhost server with this command from root folder grunt serve
To build your project use this command from root folder grunt build:dev
If you want build project with Grunt and don't want to minify/uglify files, you have to use Gruntfile-nominify.js
for building. Just rename this file to Gruntfile.js
and run build.
Main css file is compiled with Sass, all Sass files you can find in this folder app/sass
. Every part is divided into skeleton tree.
There are few default color palletes that you can use by assigning it's classes to elements. You can find all of them in file app/sass/shared/_global.scss
from line 25.
For background you can use class .bg-'color-variant'
and for text .text-'color-variant'
.bg-cyan
.bg-amethyst
.bg-green
.bg-orange
.bg-red
.bg-greensea
.bg-dutch
.bg-hotpink
.bg-drank
.bg-blue
.bg-lightred
.bg-slategray
.bg-darkgray
.bg-primary
.bg-success
.bg-warning
.bg-danger
.bg-info
.bg-default
.bg-tr-black (transparent-black, there are also .bg-white and .bg-tr-white)
Fix Header, add header-fixed
class in body element.
Fix Aside, add aside-fixed
class in body element.
Static Header, add header-static
class in body element.
Static Aside, add aside-static
class in body element.
Boxed Layout, add boxed-layout
class in body and html element.
Small Sidebar, add sidebar-sm-forced sidebar-sm
classes in body and html element.
Extra-Small Sidebar, add sidebar-xs-forced sidebar-xs
classes in body and html element.
Horizontal Menu, add hz-menu
class in body and html element.
Rtl Layout, add rtl
class in body and html element.
Text Sizes | |
.text-xs | font-size: 10px; |
.text-sm | font-size: 12px; |
.text-md | font-size: 14px; |
.text-lg | font-size: 18px; |
.text-elg | font-size: 32px; |
Displays | |
.block | display: block |
.inline | display: inline |
.inline-block | display: inline-block |
Margins | |
.m-auto | margin: auto |
.m-40, .mt-40, .mr-40, .mb-40, .ml-40 | margin: 40px, margin-top: 40px, margin-right: 40px, margin-bottom: 40px, margin-left: 40px |
.m-20, .mt-20, .mr-20, .mb-20, .ml-20 | margin: 20px, margin-top: 20px, margin-right: 20px, margin-bottom: 20px, margin-left: 20px |
.m-10, .mt-10, .mr-10, .mb-10, .ml-10 | margin: 10px, margin-top: 10px, margin-right: 10px, margin-bottom: 10px, margin-left: 10px |
.m-5, .mt-5, .mr-5, .mb-5, .ml-5 | margin: 5px, margin-top: 5px, margin-right: 5px, margin-bottom: 5px, margin-left: 5px |
.m-0, .mt-0, .mr-0, .mb-0, .ml-0 | margin: 0, margin-top: 0, margin-right: 0, margin-bottom: 0, margin-left: 0 |
Paddings | |
.p-30, .pt-30, .pr-30, .pb-30, .pl-30 | padding: 30px, padding-top: 30px, padding-right: 30px, padding-bottom: 30px, padding-left: 30px |
.p-20, .mt-20, .mr-20, .mb-20, .ml-20 | padding: 20px, padding-top: 20px, padding-right: 20px, padding-bottom: 20px, padding-left: 20px |
.p-15, .pt-15, .pr-15, .pb-15, .pl-15 | padding: 15px, padding-top: 15px, padding-right: 15px, padding-bottom: 15px, padding-left: 15px |
.p-10, .pt-10, .pr-10, .pb-10, .pl-10 | padding: 10px, padding-top: 10px, padding-right: 10px, padding-bottom: 10px, padding-left: 10px |
.p-0, .pt-0, .pr-0, .pb-0, .pl-0 | padding: 0, padding-top: 0, padding-right: 0, padding-bottom: 0, padding-left: 0 |
Borders | |
.b-0 | border: 0 |
.bt-0 | border-top: 0 |
.bb-0 | border-bottom: 0 |
.b-a | border: 1px solid rgba(0,0,0,.05) |
.b-t | border-top: 1px solid rgba(0,0,0,.05) |
.b-r | border-right: 1px solid rgba(0,0,0,.05) |
.b-b | border-bottom: 1px solid rgba(0,0,0,.05) |
.b-l | border-left: 1px solid rgba(0,0,0,.05) |
.b-dashed | border-style: dashed |
.b-solid | border-coloe: #ddd |
.b-2x | border-width: 2px |
.b-3x | border-width: 3px |
.b-'color-variant' (.b-cyan) | border-color: 'color-variant' |
Border Radius | |
.br-0 | border-radius: 0 |
.br-2 | border-radius: 2px |
.br-2-t | border-radius: 2px 2px 0 0 |
.br-2-r | border-radius: 0 2px 2px 0 |
.br-2-b | border-radius: 0 0 2px 2px |
.br-2-l | border-radius: 2px 0 0 2px |
Sizes | |
.size-30x30, .wh30 | width: 30px; height: 30px |
.size-45x45, .wh45 | width: 45px; height: 45px |
.size-50x50, .wh50 | width: 50px; height: 50px |
.w-xxs, .w-60 | width: 60px |
.w-xs, .w-100 | width: 100px |
.w-sm, .w-150 | width: 150px |
.w-md, .w-240 | width: 240px |
.w-lg, .w-280 | width: 280px |
.w-xl, .w-360 | width: 360px |
.w-xxl, .w-420 | width: 420px |
You must have some basic knowledge about AngularJS and some Angular modules (ui-router) to start work with this project.
ui-router, for Nested Routing and Nested View, check the official documents
ui-utils, many useful utilities for Angular including jQuery Passthrough for calling jQuery functions, official documents
oclazyload, for lazy loading of js and css files, official documents
resolve: { plugins: ['$ocLazyLoad', function($ocLazyLoad) { return $ocLazyLoad.load([ 'scripts/vendor/datatables/datatables.bootstrap.min.css' ]); }] }
Official Directives | |
angular-fontawesome | A simple directive for FontAwesome icons, documentation |
ui-bootstrap | Bootstrap components written in pure AngularJS, documentation |
angular-loading-bar | An automatic loading bar using angular interceptors, documentation |
angular-momentjs | Moment.js with Angular.js, documentation |
lazyModel | AngularJS directive that works like ng-model but accept changes only when form is submitted, documentation |
angular-toastr | Angular port of CodeSeven/toastr, documentation |
angularBootstrapNavTree | This is a Tree directive for Angular JS apps that use Bootstrap CSS, documentation |
ui.select | AngularJS-native version of Select2 and Selectize, documentation |
ui.tree | Angular UI Tree is an AngularJS UI component that can sort nested lists, documentation |
textAngular | A radically powerful Text-Editor/Wysiwyg editor for Angular.js, documentation |
colorpicker.module | Native AngularJS colorpicker directive, documentation |
angularFileUpload | Angular File Upload is a module for the AngularJS framework, documentation |
ngImgCrop | Image Crop directive for AngularJS, documentation |
datatables | Datatables directives for AngularJS, documentation |
ui.grid | A data grid for AngularJS, part of the AngularUI suite, documentation |
ngTable | Angular Table directive, documentation |
smart-table | Code source of Smart Table module: a table/grid for Angularjs, documentation |
angular-flot | An Angular directive which wraps Flotcharts, documentation |
angular-rickshaw | An AngularJS directive for Rickshaw, documentation |
uiGmapgoogle-maps | AngularJS directives to integrate Google Maps into your applications, documentation |
ui.calendar | A complete AngularJS directive for the Arshaw FullCalendar, documentation |
Custom Directives app/scripts/directives |
|
activatebutton.js | Directive for animate button activate |
active-toggle.js | Directive for toggling active class on element and target |
anchor-scroll.js | Scroll to anchor point directive |
chart-morris.js | Directive for morris charts |
check-toggler.js | Directive for togglick class checked |
clock.js | Directive for svg analog clock |
collapsesidebar.js | Aside collapsing directive |
daterangepicker.js | Directive for daterangepicker |
formsubmit.js | Validate form at submit directive |
gaugechart.js | Gauge Charts directive |
navcollapse.js | Dropdown collapsing in main navbar directive |
onblurvalidation.js | Validate form field on blur directive |
pageloader.js | Pageloader directive |
prettyprint.js | Google prettyprint directive |
ripple.js | Add ripple effect to main menu button |
slimscroll.js | Use slimscroll scrollbars |
sparkline.js | Sparkline charts directive |
tilecontrolclose.js | Remove tile from DOM |
tilecontrolfullscreen.js | Show tile in fullscreen |
tilecontrolrefresh.js | Refresh tile |
tilecontroltoggle.js | Toggle/Expand tile |
jQuery Plugins.
jquery.slimscroll | Transforms any div into a scrollable area with a nice scrollbar, documentation |
jquery.sparkline | This jQuery plugin generates sparklines (small inline charts), documentation |
moment.js | Parse, validate, manipulate, and display dates in JavaScript, documentation |
daterangepicker.js | This date range picker component for Bootstrap creates a dropdown menu from which a user can select a range of dates, documentation |
html.sortable.js | Lightweight jQuery plugin to create sortable lists and grids using native HTML5 drag and drop API, documentation |
Datatables | DataTables is a plug-in for the jQuery Javascript library, documentation |
raphael.js | Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web, documentation |
morris.js | good-looking charts shouldn't be difficult, documentation |
jquery.flot.js | Attractive JavaScript plotting for jQuery, documentation |
rickshaw.js | Rickshaw is a JavaScript toolkit for creating interactive time series graphs, documentation |
fullcalendar.js | FullCalendar is a jQuery plugin that provides a full-sized, drag & drop event calendar, documentation |
chosen.jquery.min.js | Chosen is a library for making long, unwieldy select boxes more friendly, documentation |
owl-carousel | Touch enabled jQuery plugin that lets you create beautiful responsive carousel slider, documentation |