Blame view

README.md 4.6 KB
2a6a54566   Ryan Glover   Bump Meteor to 1....
1
  # The Meteor Chef - Base (@1.0.0)
aa8376fb4   Ryan Glover   Add basic README ...
2
  A starting point for Meteor apps.
8435208bb   Ryan Glover   Add nod to recipe...
3
  Base is the lazy person's starter kit for Meteor. It includes some commonly used packages (biased to The Meteor Chef) and code for common functionality. This is the starter kit for all Meteor Chef recipes.
aa8376fb4   Ryan Glover   Add basic README ...
4

8651eb8e0   Ryan Glover   Add link to Chang...
5
  For more detail on updates, [read the Changelog](https://github.com/themeteorchef/base/wiki/Changelog).
aa8376fb4   Ryan Glover   Add basic README ...
6
  ### Packages Included
d30971538   Ryan Glover   Update formatting...
7
8
9
  - Accounts (Base) - `meteor add accounts-base`
  - Accounts (Password) - `meteor add accounts-password`
  - Audit Argument Checks - `meteor add audit-argument-checks`
07610a42f   Ryan Glover   Update README to ...
10
  - Bootstrap 3 - `meteor add pinglamb:bootstrap3`
d30971538   Ryan Glover   Update formatting...
11
  - Check - `meteor add check`
07610a42f   Ryan Glover   Update README to ...
12
13
  - Handlebars Server - `meteor add cmather:handlebars-server`
  - Iron Router - `meteor add iron:router`
d30971538   Ryan Glover   Update formatting...
14
  - jQuery - `meteor add jquery`
10b1a6f3d   Ryan Glover   Update documentat...
15
  - jQuery Validation - `meteor add themeteorchef:jquery-validation`
07610a42f   Ryan Glover   Update README to ...
16
  - Sass - `meteor add particle4dev:sass`
d30971538   Ryan Glover   Update formatting...
17
  - Underscore - `meteor add underscore`
aa8376fb4   Ryan Glover   Add basic README ...
18

d1f4dbea8   Ryan Glover   Additional README...
19
20
21
22
23
  ### File Structure
  Base comes with a pre-defined file structure common to all projects along with some skeleton files for getting started quickly. Here's what it looks like:
  
  ```
  /root
07610a42f   Ryan Glover   Update README to ...
24
  ---/.meteor
d1f4dbea8   Ryan Glover   Additional README...
25
26
  ---/client
  ------/controllers
39a8af161   Ryan Glover   Add bootstrap hea...
27
  ---------/authenticated
d36bdd404   Ryan Glover   Update README.md ...
28
  ------------header.js
d1f4dbea8   Ryan Glover   Additional README...
29
  ---------/public
d36bdd404   Ryan Glover   Update README.md ...
30
31
32
33
  ------------login.js
  ------------signup.js
  ------------recover-password.js
  ------------reset-password.js
d1f4dbea8   Ryan Glover   Additional README...
34
  ------/helpers
d36bdd404   Ryan Glover   Update README.md ...
35
  ---------helpers-ui.js
39a8af161   Ryan Glover   Add bootstrap hea...
36
37
  ------/includes
  ---------_header.html
d1f4dbea8   Ryan Glover   Additional README...
38
39
40
  ------/layouts
  ---------layout-default.html
  ------/routes
d36bdd404   Ryan Glover   Update README.md ...
41
42
43
44
  ---------filters.js
  ---------routes-global.js
  ---------routes-authenticated.js
  ---------routes-public.js
d1f4dbea8   Ryan Glover   Additional README...
45
  ------/stylesheets
07610a42f   Ryan Glover   Update README to ...
46
47
48
49
50
51
52
53
54
55
  ---------/sass
  ------------/globals
  ---------------_extends.scss
  ------------/modules
  ------------/vendor
  ------------/views
  ---------------/authenticated
  ---------------/public
  ------------------_login.scss
  ---------application.scss
cabe1c46e   Ryan Glover   Add a simple sign...
56
  -------/views
39d39619c   Ryan Glover   Add automatic acc...
57
58
  ---------/authenticated
  ------------index.html
cabe1c46e   Ryan Glover   Add a simple sign...
59
60
  ---------/public
  ------------login.html
07610a42f   Ryan Glover   Update README to ...
61
  ------------not-found.html
cabe1c46e   Ryan Glover   Add a simple sign...
62
63
64
  ------------recover-password.html
  ------------reset-password.html
  ------------signup.html
d1f4dbea8   Ryan Glover   Additional README...
65
  ---/collections
d36bdd404   Ryan Glover   Update README.md ...
66
  ------example.js
d1f4dbea8   Ryan Glover   Additional README...
67
68
  ---/lib
  ---/packages
39d39619c   Ryan Glover   Add automatic acc...
69
  ------ (See List Above)
d1f4dbea8   Ryan Glover   Additional README...
70
71
72
  ---/public
  ---/server
  ------/admin
d36bdd404   Ryan Glover   Update README.md ...
73
74
  ---------accounts.js
  ---------startup.js
d1f4dbea8   Ryan Glover   Additional README...
75
76
77
78
  ------/data
  ---------/insert
  ---------/update
  ---------/remove
07610a42f   Ryan Glover   Update README to ...
79
80
81
  ------/email
  ---------/send
  ---------/templates
d36bdd404   Ryan Glover   Update README.md ...
82
  ------------reset-password.js
07610a42f   Ryan Glover   Update README to ...
83
  ------/publications
d1f4dbea8   Ryan Glover   Additional README...
84
  ```
d36bdd404   Ryan Glover   Update README.md ...
85
86
87
88
  ### JavaScript & CSS
  Prior to v2.0.0, Base was written in CoffeeScript. At the request of the community, Base was ported _back_ to native JavaScript.
  
  CSS in Base is written using [Sass](http://sass-lang.com).
d1f4dbea8   Ryan Glover   Additional README...
89

aa8376fb4   Ryan Glover   Add basic README ...
90
  ### Functionality
3f0a97317   Ryan Glover   Update README wit...
91
92
  ###### Bootstrap (@3.2.0)
  Base makes use of the [Bootstrap](http://getbootstrap.com) Front-End Framework. It may not be your bag of chips and is *definitely not required*. If you want to swap it out, you'll need to unhook the markup in each of the included template files in `/client/views` and uninstall the Bootstrap3 package by running `meteor remove pinglamb:bootstrap3` in your terminal.
f89ea24e3   Ryan Glover   Fix typo in refer...
93
  In respect to UI, Base uses Bootstrap's `.navbar` element, as well as its `.container` and a few `.row`/`.col-<size>-<columns>` wrappers. You'll also find the `.btn` class and its modifiers (`.success, .warning, etc.`) in use throughout the app. All of these applications are merely presentational and can be changed (or removed) as you see fit.
c7fad243d   Ryan Glover   Add note in READM...
94

39d39619c   Ryan Glover   Add automatic acc...
95
96
97
98
99
100
101
102
103
104
  ###### Basic Routing
  A collection of pre-defined routes and templates for common functionality (see Authenticate below). Also includes a set of common route filters for managing user access. Routes bundled include:
  
  ```
  - / (Authenticated)
  - /login (Public)
  - /signup (Public)
  - /recover-password (Public)
  - /reset-password (Public)
  ```
aa8376fb4   Ryan Glover   Add basic README ...
105

45fadbd0b   Ryan Glover   Add UI helper to ...
106
  This also includes a UI helper called `currentRoute` which allows you to add an `active` class to menu items in your UI to reflect the user's current position.
033f96299   Ryan Glover   Update README wit...
107
  ###### Authentication
510619f55   Ryan Glover   Clean up document...
108
  A complete authentication pattern complete with:
39d39619c   Ryan Glover   Add automatic acc...
109

510619f55   Ryan Glover   Clean up document...
110
111
  - Signup (at /signup)
  - Login (at /login)
d36bdd404   Ryan Glover   Update README.md ...
112
  - Logout (no path, implemented as a dropdown item/click event in /client/controllers/header.js)
510619f55   Ryan Glover   Clean up document...
113
  - Password Recovery (at /recover-password and /reset-password)
39d39619c   Ryan Glover   Add automatic acc...
114

10b1a6f3d   Ryan Glover   Update documentat...
115
  ###### Validation
033f96299   Ryan Glover   Update README wit...
116
  Validation via [jQuery Validation](http://jqueryvalidation.org). This applies to all of the public templates: login, signup, recover password, and reset password.
39d39619c   Ryan Glover   Add automatic acc...
117
  ###### Automatic Admin User Creation
d36bdd404   Ryan Glover   Update README.md ...
118
  When developing, having a handful of user accounts to test your application with can come in handy. Base comes with an automated account generation script located in `server/admin/startup.js` that creates accounts based on an array of specified users. **Note: by default this creates one Admin user on server startup, so make sure to customize or remove this user so the public can't access your app**.