Blame view

README.md 3.43 KB
aa8376fb4   Ryan Glover   Add basic README ...
1
2
  # The Meteor Chef - Base
  A starting point for Meteor apps.
e4dcfed40   Ryan Glover   Add note about de...
3
  ### **This project is currently under heavy development and not recommended for use.**
8435208bb   Ryan Glover   Add nod to recipe...
4
  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 ...
5
6
  
  ### Packages Included
d30971538   Ryan Glover   Update formatting...
7
8
9
10
11
12
13
14
15
16
17
  - Accounts (Base) - `meteor add accounts-base`
  - Accounts (Password) - `meteor add accounts-password`
  - Audit Argument Checks - `meteor add audit-argument-checks`
  - Bootstrap 3 - `mrt add bootstrap-3`
  - Check - `meteor add check`
  - CoffeeScript - `meteor add coffeescript`
  - Handlebars Server - `mrt add handlebars-server`
  - Iron Router - `mrt add iron-router`
  - jQuery - `meteor add jquery`
  - Sass - `mrt add sass`
  - Underscore - `meteor add underscore`
aa8376fb4   Ryan Glover   Add basic README ...
18

d1f4dbea8   Ryan Glover   Additional README...
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  ### 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
  ---/client
  ------/controllers
  ---------/public
  ------------login.coffee
  ------------signup.coffee
  ------------recover-password.coffee
  ------------reset-password.coffee
  ------/helpers
  ---------helpers-ui.coffee
  ------/layouts
  ---------layout-default.html
  ------/routes
  ---------filters.coffee
  ---------routes-global.coffee
  ---------routes-authenticated.coffee
  ---------routes-public.coffee
  ------/stylesheets
  ---------/globals
39d39619c   Ryan Glover   Add automatic acc...
42
  ------------_extends.scss
d1f4dbea8   Ryan Glover   Additional README...
43
44
45
46
  ---------/modules
  ---------/vendor
  ---------/views
  ------------/public
cabe1c46e   Ryan Glover   Add a simple sign...
47
  ---------------_login.scss
d1f4dbea8   Ryan Glover   Additional README...
48
  ---------app.scss
cabe1c46e   Ryan Glover   Add a simple sign...
49
  -------/views
39d39619c   Ryan Glover   Add automatic acc...
50
51
  ---------/authenticated
  ------------index.html
cabe1c46e   Ryan Glover   Add a simple sign...
52
53
54
55
56
  ---------/public
  ------------login.html
  ------------recover-password.html
  ------------reset-password.html
  ------------signup.html
d1f4dbea8   Ryan Glover   Additional README...
57
58
59
60
  ---/collections
  ------example.coffee
  ---/lib
  ---/packages
39d39619c   Ryan Glover   Add automatic acc...
61
  ------ (See List Above)
d1f4dbea8   Ryan Glover   Additional README...
62
63
64
  ---/public
  ---/server
  ------/admin
7439c59f5   Ryan Glover   Add in a server-o...
65
  ---------accounts.coffee
d1f4dbea8   Ryan Glover   Additional README...
66
67
  ---------startup.coffee
  ------/publications
d1f4dbea8   Ryan Glover   Additional README...
68
69
  ------/email
  ---------/send
d1f4dbea8   Ryan Glover   Additional README...
70
  ---------/templates
d1f4dbea8   Ryan Glover   Additional README...
71
72
73
74
75
76
77
78
  ------/data
  ---------/insert
  ---------/update
  ---------/remove
  ```
  
  ### Language & Formatting
  There are two considerations when using Base: JavaScript is written in [CoffeeScript](http://coffeescript.org) and CSS is written using [Sass](http://sass-lang.com). I prefer this setup because it allows me to move a little quicker than I do when writing in the native languages. This may not be for everybody, but I recommend giving both a shot because they make it much easier to write code.
aa8376fb4   Ryan Glover   Add basic README ...
79
  ### Functionality
39d39619c   Ryan Glover   Add automatic acc...
80
81
82
83
84
85
86
87
88
89
  ###### 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 ...
90
91
  
  ###### Authentication (Not Included Yet, Just Documenting)
510619f55   Ryan Glover   Clean up document...
92
  A complete authentication pattern complete with:
39d39619c   Ryan Glover   Add automatic acc...
93

510619f55   Ryan Glover   Clean up document...
94
95
96
  - Signup (at /signup)
  - Login (at /login)
  - Password Recovery (at /recover-password and /reset-password)
39d39619c   Ryan Glover   Add automatic acc...
97
98
  
  ###### Automatic Admin User Creation
f60c4c89b   Ryan Glover   Add emphasis to d...
99
  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.coffee` 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**.