A light weight CMS built with Angular.js and Yeoman.
This is a boilerplate CMS built with Angular, Twitter Bootstrap and Node; it is in development stage and aims to offer a quick start for creating full-stack angular application.
Some featured technologies used in this project include the following:
To get started on developing with this code base you can either fork the repository or clone it using the following command:
$ git clone https://github.com/jonniespratley/angular-cms.git
Before you can run or build the application you need to install the dependencies, execute the following command:
$ npm install
Note: You may need to run this as a
sudo
user.
Now you need to install the client-side dependencies that is managed by bower, execute the following command:
$ bower install
Now you are ready to run the preview server that is used for development, execute the following command:
$ grunt serve
Note: Your default browser should open up to http://localhost:9000
To run the application on your local machine please take the following steps.
To start mongodb execute the following command:
$ sh bin/db.sh
Note: If errors when executing command remove the
db/mongod.lock
file.
To start the server execute the following command:
$ node server
Note: The REST server is running at http://localhost:8181/api/v2
The following sections are different development tasks that I generally run while developing features.
To run the Karma unit tests execute the following command:
$ grunt test
To run the Karma scenario tests take the following steps:
$ grunt serve
$ node server
$ sh bin/db.sh
$ grunt test:e2e
Note: Each step is a ‘new’ terminal window
To run the Protractor e2e tests take the following steps:
$ grunt serve
$ node server
$ sh bin/db.sh
$ grunt protractor
Note: Each step is a ‘new’ terminal window
The server is a Node.js server that supports dynamic RESTful API calls to resource endpoints. It will automatically create a database if it does not exist and collection(s). >>>>>>> fe4af0e14ef3596c823d4777d672ba00406ddb90
The base URL is http://localhost:8181/api/v2
HTTP | METHOD | ENDPOINT |
---|---|---|
GET | findAll | /database/table |
GET | findById | /database/table/:id |
POST | add | /database/table |
PUT | update | /database/table/:id |
DELETE | destroy | /database/table/:id |
Tip: To create new collection open
http://localhost:8181/api/v2/[DATABASE]/[COLLECTION]
in browser.
This is a socket server implementation for "real" time.
These are the events that this socket server dispatches.
Themes will be installed via bower
, search and install themes searching by tag angular-cms
.
This is the structure of the themes.
my-theme/
package.json
bower.json
css/
my-theme.css
js/
my-theme.js
index.html
partials/
header.html
sidebar.html
footer.html
content.html
Plugins will be installed via bower
, search and install themes searching by tag angular-cms
.
The API documentation will be in the form of ngDocs style.
The files located in the content
directory are tutorial specs for the different features in this project.
Documentation can be generated and viewed by running the following command:
```
$ grunt docs```
Your default browser should open http://127.0.0.1:9191/#/api
(Coming soon)
Please don't edit files in the dist
subdirectory as they are generated via Grunt. You'll find source code in the app
subdirectory! Regarding code style like indentation and whitespace, follow the conventions you see used in the source already.
First, ensure that you have the latest Node.js and npm installed.
Test that Grunt's CLI and Bower are installed by running grunt --version
and bower --version
.
npm install
to install all build dependencies (including Grunt).bower install
to install the front-end dependencies.grunt
to grunt this project.Assuming that you don't see any red, you're ready to go. Just be sure to run grunt
after making any changes, to ensure that nothing is broken.
master
branch directly.grunt
to see the tests fail.grunt
to see if the tests pass. Repeat steps 2-3 until done.The following list is features that are comming.