Code Monkey home page Code Monkey logo

meteor-starter's Introduction

Meteor Starter

A Meteor boilerplate with a lot packed in. Written in Coffeescript.

Tutorials

MIT License

Maintained by Meteor Factory. Professional Meteor development.

Meteor starter

Setup

git clone https://github.com/yogiben/meteor-starter.git myapp
cd myapp
meteor

What's included

Visitors####

  • Sexy landing page

####Users####

  • Login / Sign up etc. from Accounts Entry
  • Sign in with Facebook etc. with automatic photo import
  • Profile Page - add a photo, location and other fields defined in schema
  • Have a username (or not)
  • Change their password and delete their account

Admin

Interactions

  • Create / edit posts with image upload
  • Favorite / comment on posts

Customisation

Detailed tutorails coming soon.

First steps:

  • Edit basic setting in /lib/_config/_config.coffee
  • Delete / modify HTML in /client/views/home.html
  • Update colors in /client/style/bootstrap-variables.less
  • Add / edit collections in /collections/
  • Create routes and views in /lib/router/router.coffee and /client/views folder

Docker

Dockerize it

for Dev

docker build -t myrepo/meteordev -f Dockerfile-dev .

Run

docker run -it -p 3000:3000 --rm myrepo/meteordev

for Prod

docker build -t myrepo/mymeteorapp .

Run it

docker run --name mongodb -d mongo
docker run -it --rm -p 3000:3000 --link mongodb:db -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:3000" myrepo/mymeteorapp

Screenshots

alt tag alt tag alt tag alt tag

Premium Support

Have an urgent issue or want help with implementation? Start a conversation with Meteor Factory.

meteor-starter's People

Contributors

alextaaa avatar brylie avatar carrot93 avatar chip avatar debraid avatar deepupathak avatar dermellor avatar esteedqueen avatar joeinnes avatar kalinchernev avatar mpowaga avatar philip-nunoo avatar renancouto avatar snamoah avatar techplexengineer avatar yogiben avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meteor-starter's Issues

Workflow for building customizations on top of this

This meteor-starter is a very good boilterplate template for starting off the work. Thank you for sharing it.

Wondering what is the best way to start building on this though. For example, to customize the dashboard one can go ahead and change dashboard.html and / or add new templates to it. However, if after sometime a new version of 'meteor-starter' gets released it would become a big 'merge-mess' to quickly update the user-customized code to use the latest version of the starter template.

Not sure if it is possible, but it would be great if some kind of separation can be achieved between the original 'meteor-starter' files and user customized code.

For example, something like the {{> yield}} feature where some static code inside the "meteor-starter" files will pickup the user portion of the code put in some separate file and controlled through configuration files.

Or some kind of #include<> kind of mechanism??

Theming support

I see that meteor-starter is already using LESS, which (I guess) makes it easy for 'theme switching' for boostrap UI frontend.

Since this is a startup helper template users build on, it would be great if users are allowed complete customization of their frontend (in a single place).

Towards that purpose, requesting to consider the below:

  1. bootstrap-variables.less presently have most of the less configurations commented out - may be they should all be uncommented and exposed for user
  2. Presently only one primary color brand-primary is being used - please consider adding brand-secondary color option also.
  3. Not sure how they do it - but some of the bootstrap themes out there has this nice Change Skin option that dynamically changes the complete UI colors (on the fly). It would be a gread value-add to have that (to build demo sites and all).

Meteor._wrapAsync has been renamed to Meteor.wrapAsync

Looks like the latest version of meteor breaks this app after you try to register the app restarts and this is printed in the console:

[[[[[ ~/starter ]]]]]                         

=> Started proxy.                             
=> Started MongoDB.                           
I20150505-17:54:45.424(-4)? Meteor._wrapAsync has been renamed to Meteor.wrapAsync
=> Exited with code: 8
W20150505-17:54:45.492(-4)? (STDERR) 
W20150505-17:54:45.492(-4)? (STDERR) events.js:72
W20150505-17:54:45.492(-4)? (STDERR)         throw er; // Unhandled 'error' event
W20150505-17:54:45.493(-4)? (STDERR)               ^
W20150505-17:54:45.493(-4)? (STDERR) Error: Command failed: gm identify: Unable to load module ("/usr/local/Cellar/graphicsmagick/1.3.18/lib/GraphicsMagick/modules-Q8/coders/png.la: file not found") [No such file or directory].
W20150505-17:54:45.493(-4)? (STDERR) gm identify: Request did not return an image.
W20150505-17:54:45.493(-4)? (STDERR)          
W20150505-17:54:45.493(-4)? (STDERR)     at ChildProcess._spawn.proc.on.onExit (/Users/sross/.meteor/packages/cfs_graphicsmagick/.0.0.18.5443uq++os+web.browser+web.cordova/npm/node_modules/gm/lib/command.js:279:17)
W20150505-17:54:45.493(-4)? (STDERR)     at ChildProcess.emit (events.js:98:17)
W20150505-17:54:45.493(-4)? (STDERR)     at maybeClose (child_process.js:766:16)
W20150505-17:54:45.494(-4)? (STDERR)     at Socket.<anonymous> (child_process.js:979:11)
W20150505-17:54:45.494(-4)? (STDERR)     at Socket.emit (events.js:95:17)
W20150505-17:54:45.494(-4)? (STDERR)     at Pipe.close (net.js:466:12)
fish: Job 1, 'meteor' terminated by signal SIGINT (Quit request from job control (^C))

Error: unknown package: npm-container

Fresh git clone of latest version is giving this below error when running 'meteor'.

Could not resolve the specified constraints for this project:
Error: unknown package: npm-container

Not sure how to resolve this.

Uploaded Images are Uploading Sideways

Just tried the new meteor-starter. It looks like uploaded images are loading in side ways.

I'm sure this has something to do with the meta data that is saved in the images, as for each of these images were taken with a cell phone. Is there anyway suggested to have graphicsmagick strip the meta data before adding the image ?

packages: pretty-email vs pretty-emails?

The packages has below two lines:

yogiben:pretty-emails
yogiben:pretty-email

but the atmosphere documentation for both looks same. Wondering if both are different or same.

Admin User Roles Bug

Selecting User Role 'Admin' as Admin deletes the admin privelage and won't allow sign in

Renamed _wrapAsync method

It seems their private method has become public.
Meteor._wrapAsync has been renamed to Meteor.wrapAsync when you start an application.

Thanks!

Meteor update to 1.0.4.1 causing Admin Route's to break.

Hi there - posted this in the main Meteor Admin project and here also. Probably more relevant here...

I ran meteor update this morning - stupidly - and all my admin routes away from the dashboard -
e.g. - http://localhost:3000/admin/Items - to view the table of items - don't work.
I'm getting the 404 'Nothing Here' page.

Anyone else getting this issue and have an idea on how to fix it?

EDIT:
Here is one of the errors I'm getting in my console - it happens for every dashboard item I've created -
'pathFor couldn't find a route named "admin_collections_Events_home0"' - events being one of the collections I'm displaying on the dash...

Social Media Links Do not appear in Footer.

The social media links in the footer are not appearing? Not sure why?

            <div class="col-md-offset-2 col-md-8">
                <ul class="social-networks">
                    {{#each socialMedia}}
                    <li><a href="{{url}}" target="_blank">
                    <span class="fa-stack fa-2x">
                        <i class="fa fa-circle fa-stack-2x"></i>
                        <i class="fa fa-{{icon}} fa-stack-1x fa-inverse"></i>
                    </span></a>
                    </li>
                    {{/each}}
                </ul>
            </div>

Default Admin Account

Cool admin package, I would like to test it online with this starter. Any way to get the credentials for the default admin that is configured? Having them in the README.md would be even better

/dashboard should not be accessible till some one logs in

Presently the /dashboard is accessible for everyone (anonymous users) and if some one tries to enter a comment or perform any action it is giving error "owner is required".

It should be better if "/dasboard" path itself is restricted and/or redirected to signup/login page if no valid user exists.

Or, alternative would be to provide a custom "view" (of all public posts) for anonymous users (when no one logged in).

Trying to modify the Post Form

How do I go about modifying the post form, let's say to include a Date Picker element. I have tried adding something like this to the posts.coffee file
postDate: type: Date autoform: afFieldInput: type: 'Date'

I then modified the dashboard.html file :

<div class="panel-body"> {{#autoForm id="add" collection="Posts" type="insert"}} {{> afQuickField name="title"}} {{> afQuickField name="content"}} {{> afQuickField name="postDate"}} <!-- {{> afQuickField name="picture"}} --> {{> afQuickField name="picture"}} <!-- {{> afFileUpload name="picture" collection="Attachments"}} --> <button type="submit" class="btn btn-primary">Add Post</button> {{/autoForm}} </div>

Social Logins

Facebook, GPlus, Twitter

User should be able to log in with these so that:

  • profile picture is stored in profile.picture (you can do file upload via url with collectionFS)
  • first name, last name and other relevant info is added

License

Please add a license file with the relevant license mentioned.

Make set username conditional on Config setting

Set username screen should only apply when username: true in Config.

@Config =
    name: 'My App'
    title: 'Make Meteor Apps. Fast.'
    subtitle: 'Create beautiful  Meteor apps really fast'
    logo: ->
        '<b>' + @name + '</b>'
    footer: ->
        @name + ' - Copyright ' + new Date().getFullYear()
    emails:
        from: 'noreply@' + Meteor.absoluteUrl()
    blog: 'http://meteorfactory.io'
    about: 'http://meteorfactory.io'
    username: false
    homeRoute: '/'
    dashboardRoute: '/dashboard'
    socialMedia:
        facebook:
            url: 'http://facebook.com/benjaminpeterjones'
            icon: 'facebook'
        twitter:
            url: 'http://twitter.com/BenPeterJones'
            icon: 'twitter'
        github:
            url: 'http://github.com/yogiben'
            icon: 'github'
    publicRoutes: ['home']

Images of new user

/server/accounts.coffee

  1. Test that Facebook, Google and Twitter sign in works
  2. Test that the profile images are correctly grabbed from above
  3. Check that Gravatar image is correctly pulled
  4. Handle when there is no gravatar image

Currently, the Gravatar image is stored as an URL. It should be stored as an image.

image

When there is no gravatar for that email, the profile picture should be blank

Should go to original URL after login

After login, it is always going to /dashboard and not to the original request.

For example, if originally a request was made to another page, say /admin or /profile (or any other page), it prompts for sign-in, which is correct. But, after signin, it goes to /dashboard and not to /admin or /profile as requested.

Could not resolve packages

I just ran meteor and got this:

Figuring out the best package versions to use. This may take a moment.
Could not resolve the specified constraints for this project:
Error: unknown package: yogiben:comments

Emulating/Running as mobile app

Hey,

Been working with his quite heavily and created my own web apps with it - but have a question - if I want to test (and eventually deploy) to a mobile app I get a blank screen when running meteor emulate or meteor run.

Are there any prerequisites? Do I need to change the '/' home route as it won't render the initial homepage within an app?

Appreciate any help.

Collections don't get updated in dashboard

Hey! I've installed meteor-starter on a VPS running CentOS 6 x64 and Meteor 1.1.0.2. While the web site is up and running, if I were to add, say, a new post (be it from /dashboard or from /admin), there's no way I'm going to get the admin page to read anything else than 0 posts. I checked the database through meteor mongo, the documents I inserted, they are all in there. Why is that?

Port Nofity from Health Natives

The Alert object is really crap.

Let's replace it with Notify JS. This could be with a package or you might have to create one

Bootstrap default styling

I am getting different ui style for controls on html when used in this starter-template vs bootstrap default.

For example, buttons and panels etc. are loosing their 'round corners' - but the same html in normal bootstrap html is giving nice round cornered ui.

How to get back the default bootstrap styles? Since this starter-template is supposed to be used by others, it would be great if this template does not use customize the bootstrap / style - rather use the default styles (so that users can customize what they want).

Possible Bug: OAuth authentication?

I'm not too familiar with the inner workings of the accounts-base package, but when I add something like accounts-facebook and accounts-ui and try to login using Facebook, I get "Exception while invoking method 'login' Error: Emails is required", which I understand from a high-level perspective. When I create a new project and just add those packages, I don't get this error and it continues logging in using OAuth, I'm guessing because it doesn't require an 'Emails' object. Thoughts?

Meteor Platform

I noticed the packages include standard-packages

That has been moved to meteor-platform. Maybe change the starter to use that instead? Not sure about the difference at this stage, but I am sure meteor-platform will get additional things in future from the core team.

Cloned meteor-starter repo not working

Forgive me for failing Meteor 101, but I did this:

$ git clone https://github.com/yogiben/meteor-starter.git
$ cd meteor-starter
$ meteor 

And got a lot of errors like this:

W20141211-14:30:50.015(-8)? (STDERR)          
W20141211-14:30:50.072(-8)? (STDERR) /Users/tomcampbell/.meteor/packages/meteor-tool/.1.0.35.wql4jh++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20141211-14:30:50.072(-8)? (STDERR)                        throw(ex);
W20141211-14:30:50.072(-8)? (STDERR)                              ^
W20141211-14:30:50.072(-8)? (STDERR) Error: Cannot find module '/Users/tomcampbell/Documents/meteor/meteor-starter/.meteor/local/build/programs/server/npm/iron:router/node_modules/body-parser'

One source implied that this message meant there was no bootstrap installed, but a list of packages told me otherwise.

When I checked what packages were installed this way:

 $ meteor list

I noticed many of the packages were a little outdated, so I did a

$ meteor update

But still got the same errors. Sorry to bug you, but do you have any idea what idiocy I am guilty of? (I do have Meteor itself working, and have created a ton of tiny practice apps that work fine.)

Thanks!

Tom Campbell

Less compiler error

Hey, this project looks promising. Thanks for sharing.

Here is log:

vagrant@vagrant-ubuntu-trusty-32:~/projects/youadmin$ meteor
[====================] 100% 0.0s   Downloading packages
[[[[[ ~/projects/youadmin ]]]]]

=> Started proxy.

=> Meteor 1.0 is out! Visit www.meteor.com for all the details.

   Meteor 1.0 is being downloaded in the background. You can update to
   it by running 'meteor update'.

=> Started MongoDB.
=> Errors prevented startup:

While Building the application:
client/style.less:2:1: Less compiler error: '/packages/yogiben:bootstrap/bootstrap.import.less' wasn't found

=> Your application has errors. Waiting for file change.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.