🍬 Introducing Meteor Candy, the Hackable Admin Dashboard


#1

Hi everyone,

A lot of people have been asking for something like Meteor Toys but in production. A lot of people on the forums have been looking for a dashboard solution. I’m happy to introduce something for those in need.

The package lets you see data on your accounts, and impersonate them, among other things. There’s a live demo on website, but the real magic is in the customization. Getting Meteor Candy to display data unique to your app, or plugging in functions that you need for production, is easier than writing a Meteor method for it, and you get the interface with it for free.

Update: there is now a configuration guide on Meteor Chef. Check it out to see what Meteor Candy can do for you.

FAQ

If I missed yours, please ask.

How quickly can I set up Meteor Candy?
In development mode, Meteor Candy works from the moment you add it. In production, setting it up is as easy as listing the userId of who can use it.

What comes out of the box?
Meteor Candy can help you see how many accounts are signing up into your application, see the most recent ones, as well as search for specific ones. Once you are there, you can sign into them without password, change their password, or delete them.

What do you mean by hackable dashboard?
While Meteor Candy works out of the box, the real benefit is in customizing it to display the data and perform functions that are specific to your application. For example, you can list how many credits an account has, and add a function to change that amount.

How do I customize Meteor Candy?
Meteor Candy is configured through a very simple JSON object. It’s easier to configure Meteor Candy than it is to write Method’s in Meteor, so you should have no problem setting it up to display the data important for you and the tasks that your app needs.

What kind of data does Meteor Candy display?
Out of the box, Meteor Candy displays your account growth over time, and some standard Meteor user fields such as emails, join date, and more.

What kind of tasks can Meteor Candy perform?
Out of the box, Meteor Candy allows you to impersonate accounts, change their password, and delete them. However, the real idea is to let you define functions that are specific to your application. You just write the name, prompt, and function, and Meteor Candy will take care of the rest.

Does Meteor Candy work with all account types?
Yes, Meteor Candy works with all the account types supported by the Meteor framework. In case you are using a third party package, plugging it in should be as easy as modifying a few fields and names.

Is Meteor Candy obfuscated?
No, with Meteor Candy you can see all the source code and modify it to your liking.

Does Meteor Candy work on any app?
It’s been tested on a starter Meteor app, the Todos app, which is built according to the Meteor Guide, as well as Vulcan.js, the React/GraphQL-based Telescope spin off by Sacha Greif. In each case, it worked as one would expect. It really should have no problems, but if it does just write me an email.

Is there a demo?
Currently, there is a right on top of the main website. You can click through it - its just like what you would get in a package.

How does it work?
Meteor Candy sits quietly in your application. When you press Control + D, it’ll render into your app as a demo.

Are there discounts?
If you are a non-profit, or are based in a country where the minimum wage is below $500 USD, please get in touch for a special coupon. For everyone else, there will is the coupon code forums, which will taper down over time.


#2

You’re the man! It’s because of great dev like you and other meteor greats I still use Meteor today (after @arunoda left for NextJS). Thanks.


#3

Cool feature to login as users. I’ll book mark this.

I’d love a free trial though.


#4

Code splitting so users don’t have to download the extra, unused code. Yes please! Consider me a paying customer. :smile:


#5

Thanks for the positive words guys :slight_smile:

You might be on target - I’m excited to see how the final implementation looks :smiley:

Currently, its only like 20kb on the client, maybe that needs a mention :blush:


#6

Mentioning there are no heavy dependencies is definitely a solid selling point.


#7

Yeah man - most of the work is being done on the server to keep the client as thin as possible.


#8

A trial or development version, if possible, would be helpful.


#9

Am working on something. Curious - what would you be trying to evaluate from such aversion?


#10

That it’s easy to integrate with my app and easy for me to extend in ways my app would need.


#11

Looks cool. Can you help set my expectations around price? I only see one price in your site, the “Intro Price” - does this mean it’s a one-time charge, and from there all updates are forever free? (I don’t like the idea of building my business around this to later be taken hostage by new charges; one and done with free updates sounds better to cautious people like me).

How often will releases be made? Is there some sort of schedule or cadence?

Website says this is a “paid open-source” project. If it’s open source, where can I see the code?

Can you put a more complex live demo on your website so we can understand just how extensible it is? I’m working on a really complex application so if it does what you say it does, this could be a really good fit. But I need to know before I buy just how pluggable and how far this thing can be pushed.

Thanks!


#12

The demo on your site runs through a modal. Does Meteor Candy always run through a modal overlay?

It would be better for my needs if it ran on a dedicated route, such as /admin, where everything you click has a unique URL. I want my support team to be able to send URLs back and forth to eachother to communicate on various tasks sitting in the system that need to be taken care of.


#13

@joncursi - thanks for your interest! I’m just setting up the operation but will have a demo version soon. The config guide is almost complete as well - I sent you a DM with an early version - it would be great to get your feedback.

To answer your other questions:

  • Things like future price and features - not sure yet. I have some ideas for a v2 which I think will “complete” the package, and after we will see.
  • Paid Open Source meaning that you can get the source code once you paid for it. I do believe the term “open source” is a bit dated because there are many variants of it.
  • Right now, the configuration settings are on the app stats, user profile, and the ability to run functions. I think its flexible enough for most apps.

It would be great to hear more about what you are building, that way I can better address your questions and be better informed for building the next version.


#14

@msavin thanks for your reply.

The closest thing I can relate my app to is Yelp. These are the main things I’m looking for in my admin dashboard:

  • Users can review pages, and those reviews can be flagged by any user. So it’s up to our admins to have easy access to a list of newly flagged reviews, and take action on them (remove the review, allow the review, etc.) and mark the item as “done”.
  • Users can submit edits to pages. Edits are not reflected live on the page; instead they are put into a queue and our admins must review all edits (i.e. for accuracy), and approve or deny each of them. The admin may want to accept the edit, but make a change the the content before doing so (i.e. fix typos).
  • Users can add pages. Added pages are not reflected live on the app; instead our admins need to review them again for accuracy, make any tweaks or changes to the data they deem necessary, and then approve or reject the addition.
  • Users can become admins of pages by applying for it. Our admins need a place to review applications, communicate with the user about their application / eligibility, and ultimately approve or reject.
  • We may need to revoke admin rights to pages from various users, or make edits to pages ourselves. Therefore, we need an easy way to access / visualize the mongo documents and make changes.

#15

I realize that some of these points (particularly the last one) will require implementing custom UI from myself, which I’m fine with doing if Meteor Candy can abstract away the boilerplate of tying these workflows together.

PS. I use React, so if I need to write custom UI, React is an absolute must.


#16

I hear you on the making edits part - I’m experimenting with some ideas on that.

With the other stuff, it sounds a lot like, if Meteor Candy had a “task queue”, that you can do all those things. And in the early stage of the startup, since there would not be so much traffic, maybe like one queue would be sufficient?

What if it were something like:

MeteorCandy.add({
   data: data, 
   options: ['delete','approve', 'etc'] 
}}

the options would be pre-defined to fit the needs for your app. Each kind of task would have different options.

Then, you would go into Meteor Candy, go to Queue, and you’d see and go through these items one by one. Maybe we can put an alert somewhere too.

Would that work or would you have something else in mind?


#17

Update: I’ve been working with the nice people at Meteor Chef to launch a guide on how to use set up Meteor Candy. It gives a glimpse into how configurable it is.

https://themeteorchef.com/blog/meteor-candy


#18

Update 2: looking to get some feedback before I do the announcement…

On one hand, a lot of people have been asking for a trial edition of Meteor Candy. On the other hand, Meteor Toys customers loved the account impersonation feature but wanted the ability to search through the database… so… I’m happy to launch Meteor Candy Light which is a customized version to bring the best of both worlds to the development environment:


#19

Deserves a separate thread I’d say.


#20

Looks great! I had a few questions:

  • Can you edit fields? Like changing a user’s profile info, etc.
  • Can you add other collections other than the user collection? If so, what would setup look like for that?
  • Are you considering a non-yearly 1 time payment option? If I were to use it, I’d love to drop it in to my client’s apps without having to sell them on an annual subscription.

Other than that, it looks very sleek! Great work