This README will documents the steps necessary to get our app up and running.
Awesome d20 gaming system components - starting off with a simple diceroller written in HTML, SCSS and Angular
End game being an app for playing D&D and other rpgs online
-
Install Node from Node
-
Install Grunt globally from the command line 'npm install -g grunt-cli'
-
Install Bower globally from the command line 'npm install -g bower'
-
Install latest version of Ruby
-
We need bleeding edge version of SASS with compass so run 'gem install compass --pre'
- check out this link if having issues.
-
set up your private fork of this repo (see the "working with git" section)
-
Navigate to the folder using the command line
-
Run 'npm install'
-
Run 'bower install'
Once you're all set up following the steps above, you'll need two shells (terminal or commandline) running. One with Mongodb and one with the app. Steps below.
-
To start local mongoDB instance, in a terminal/commandline shell run ‘sudo mongod’ on mac or just 'mongod' if windows
-
Navigate to your local Stormcrow folder using a second shell.
-
Run 'grunt serve' - good to go!
If it isn't working and you've recently pulled from upstream, try doing npm install or bower install to make sure all dependencies are up to date.
-
Fork the main(upstream) repo
-
Create your own 'dev' branch
-
Clone the forked repo into your local file system
-
Create feature branches etc as required
-
When a feature is complete and conforms to quality standards, merge the feature branch back into your local master.
-
issue a pull request from your forked repo to the upstream repo
-
code review will be completed, if necessary, fix code and return to step 6
-
if your code is accepted, it will be pulled to the dev branch of the upstream repo for futher testing and eventual integration in the release/master branch.
- core - Contains a base set of partials that will be part of every project. These include the grid system, normalise, layout and helper classes/functions
- Foundation - This lays on top of core, adding project specific modifiers and config files containing project-wide variables.
- modules - This holds the projects modules. These are independent and reusable chunks of code that can be reused throughout the project and other projects.
- vendor - External libraries
- page specific styles are stored in the folders alongside the html and controllers.
We are using a loosely
The API currently look like this:
/api
├── /users
│ ├── / - [GET] List users (all users if admin)
│ ├── / - [POST] Create user
│ ├── /me - [GET] Get current user
│ ├── /:id - [GET] show user by id
│ ├── /:id - [DELETE] delete user by id (admin only)
│ └── /:id/password - Change a users password
│
├── /games
│ ├── / - [GET] Get all games
│ ├── /open - [PUT] Get all games accepting new players
│ ├── /user - [GET] Get all games user is involved with
│ ├── /create - [POST] Create a game
│ └── /character - [POST] Create a character in the game
│
├── /dice-rolls
│ ├── /sides - [GET] Get all dice sides
│ ├── /modifiers - [GET] Get all dice modifiers
│ └── /amount - [GET] Set the number of dice
│
└── /* - index.html
- David Berner @davislurve
- Bard Hovde @bungledup
- Jon Russell
- Gary 'Frog' Wood
- If you encounter build errors related to SASS compilation (triggered by compass), try updating your sass to 3.3+ and compass versions to the latest releases.
- File structure based on: generator-angular-fullstack
- Google File structure best practices
- Learn AngularJS in a day
- Getting Started with Angular videos
- Google Angular Best Practices
- Git fork-merge workflow basis for our git workflow
Apache License 2.0: i.e Not to be stolen
(All this shizzle to come)
- Writing tests
- Code review
- Other guidelines