-
Notifications
You must be signed in to change notification settings - Fork 0
File Structure
Here's a quick overview of the top-level file structure of Telescope. See individual sections for more details.
The files you put in a Meteor project's client
directory are only accessible by the client. Mainly, we put client-side javascript and our templates in there.
Self-explanatory. Note that SASS is not supported by Meteor, meaning you'll need a third-party app like Codekit to compile them.
Client-side third-party Javascript libraries and plugins.
Client-side Javascript files that are part of the app but are not views.
All client-side configuration options.
Handlebars template helpers.
Code related to third-party analytics services.
Work around the lack of limit/offset in clientside queries.
Takes care of (you guess it) routing.
Each view has one html template (that uses Handlebars) and one Javascript "controller".
App.js is the root controller that loads the data and the rest of the views.
Files that are common to both the client and server.
Third-party Javascript plugins.
These are methods to create new posts, comments, and categories that can be called from either the client or the server.
Code related to handling and displaying errors.
Helper methods that are available to both client and server.
All user-related helper methods.
Methods for upvoting and downvoting posts and comments.
Files that need to be served at the root of the domain, i.e. images and EpicEditor stuff.
Files that are only accessible to the server
All methods related to notifications.
Note: Any user can generate notifications for any other user through their actions on the site, so there cannot be any permission control for notifications. For this reason it's important that creating new notifications can only be done server-side to avoid abuse.
Contains the publish
methods that indicate which data should be sent to the client, as well as the allow
methods that set the client's insert
, update
, and remove
rights.
Contains the post & comments scoring algorithm as well as the timer that runs it every n seconds.
All user-related server-side code, mainly the user creation callback.
The only thing that matters in there is packages
. Add the official Meteor packages that you're using to it.
The Meteorite smart package file.