undone: backlog there's no way for event creator to reach event created to edit it, which is somewhat hairy, since tickets could be already bought, warning select breaks when updating categories there's no city field in google maps, therefore counties are used, it might make sense to use higher level field which is states for US https://developers.google.com/maps/documentation/geocoding/start?csw=1#Types editing event will create new post - since upsert/singular method is used I supposedly should have base64 encoded image, instead of linking the image with href for QR image deleting category will sync the events/instances, and may leave them without any filterable fields wontfix get api keys- https://console.developers.google.com/apis/credentials?project=justdo-259609 billing for google project (trial is used up, and there's no tricking them, as I already tried) fix geolocation plugin- the google key is gone test city based search test qr code in email (no computer) done: fixed the forms, everything else seems to be working (I logged in with account that had nothing, so assumed nothing works) qr code needs to be linked in email 3 subcategories pick for event fixed upsertCategory change browseEvents to use datePicker in range mode syncedCron wont work wall background doesn't save on form show admission info background images on users walls (so computer I used to use for testing images, is no longer able to install meteor for testing, but according to css the image should be there) invite friends fixed the bug where visiting friends wall will kick you out fixed post to all make tickets go through email, and delete images after instance is over city search using administrative_area_level_2 calendar work for span of days control acces for private events refractor post to friends/family so that it may simultaneously post to several types of circles at once, without requiring 4 posts to post to all circles refractor browseEvents to not use totalEnd/Start since instances span days now convert the totalStart/totalEnd on clientSide so that tz changes are recorded test that the event instances are listed in invitation, refractor it so that they're reactive on the post, delete link to events from upsert, test invite friends/post all test control acces for private events remove unused images for events image picker in create event wont reset between page refreshes double check that qr email should work make sure that the loading order once visiting create event of api key, lib, and rendering is correct css specs- card events unique index on category to prevent duplicate categories fix delete category test/do sync category updates with events/instances top category batched edits stop redirecting after create category upsertCategory now just lists all categories in plain text with links, to avoid bugs associated with how select works, use browser finder. Schema user > post> owner> user user > user Hi jan We are going to create an Events app, this is not an independent app but more a module in the sociaty app we started eralier. There will be some user payment in a later edition - but for now - The over all structure is quiet simple: - we create an event - we search for an event To create an event we will need the following inputs: 1 - access to the event 2 - title of the event 3 - describtion of the event 4 - address for the event 5 - calendar for the event 6 - admission to the event 7 - photos of the event 8 - category for the event 4 - address for the event: Here we are going to use the 'geocomplete.js' plugin - ref: and tut in the bottom. This plugin needs a Google map-key which also is to find at the bottom. at the core, we need an text input to the address, and then geocomplete and google will autofill a form ( you need to make the form) with: text-input: route(street) - text-input: street_number - text-input:postal_code - text-input:locality - text-input:sublocality - text-input:country - text-input:lat - text-input:formatted_address - text-input:lng - text-input: locations - text-input: bounds. And YES - we need all the inputs in the Db. Later on we are going to use the Geospatial Queries in our MongoDB 5 - calendar for the events. Here we start with 2 buttons: 'Time limited event' and 'Ongoing event': The chosen template is visible - the other not visible! 'Time Limited events' is i.e. football matches - exibitions - antique car-meetings - national days etc etc. Events that an exact start date/time and vice versa stop. For that we will use the 'fullcalendar packages' - see ref. in the bottom ( we might want to change the popup - so hold back a litle time for that). The 'Ongoing event' is i.e. museums - national buildings - theaters - galeries etc.etc. Events that dont have a start or stop day. This item require more data from the events-holders - so for now - we will just fill in some dummy-data where needed. ------------------------------------------------------------ So much for creating events - now for searching our Events -- We will use 2 approaches -- 1. Search for the category(subcategory) 2. Search for the the place(address). 2. the place. This is likely a more usefull approach. When searching for a place - and filter with date - you get all the events that is happening in the place you seacrh for. This can be handsom if you want to know whats going on in your own city naxt month - or if on holliday, find all the events going on where ever you may be, while you are there. In both approches you 'just' do a {{ #each string }} searching for 'category' or 'place(address)' filter with date/interval and query for eventId, event image(front), event Title. You might need to place these query results inside a panel or a card - to keep them separeted. Inside that panel/card we place a button which - with the use of the eventID (flowrouter parameter) will open a new template with all the deatils of the event( we dont need all the details here - pick a few), but we need a button 'Buy Ticket' on the details Template. Clicking the 'BUY' button will generate a Meteor.call to a ticket collection inserting the currentUser's data the data for the event - the price - the date etc. For now we dont care about money, when buying a ticket to an Event. But later we will have to accept the payment, so we need an accept button. Lets create that button *Accept*, below or beside the *Buy ticket* button. Clicking the 'Accept' button will 1. grab the just created ticketID - 2. create QRcode of the ticketID ( read below ) 3. send an e-mail to the currentUser saying "Thanks for bla bla... and a print of the qrcode (we should have our email system up an running by now- right?. That way - me - the currentUser can print the mail and use it as a ticket or I can bring my cellphone and show the mail to the events where they will scan the qrcode (I'm not sure the ticketId is the right data to put in the qrcode - likewise I'm not sure of which details to move around - but I need the structure and I need the procedures) That should conclude the Events module, for now. About the work I think it should be rather straight foreward. The Address part is about setting up a form and a corresponing collection, the Calendar part is merely 'cut and paste' the 'meteor Chef tutorial' and set up an collection for the calendar - and the rest is "just plumming". I will suggest a price of USD 150. ? Please start with the category part and notice me when finish with that all the best Freddy. links etc. about the QRcode: here are some links: there are several plugins to help with this, after my oppinion this is the easiest to use: "atmosphere dschulz:jquery-qrcode" other plugins; atmosphere steeve:jquery-qrcode, npm: npm qr-images + more... (If you like to 'test' the qr-code there, are several free QR Code Scanners and Readers on GooglePlay) about the 'Fullcalendar' atmosphere packages: 'fullcalendar:fullcalendar': https://atmospherejs.com/fullcalendar and 'the Meteor Chef' has a tutorial for inspiration: 'https://themeteorchef.com/tutorials/reactive-calendars-with-fullcalendar' about the geocomplete-plugin: https://github.com/ubilabs/geocomplete / https://www.npmjs.com/package/geocomplete I belive this is my Google-key for the maps:(please dont abuse it) <script async defer src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAl1Duwvw3RESUu4paACSua-UA5Ey5fryE&libraries=places"></script>