Klick is an automated "dinner with strangers" app. Users can sign up and fill out basic profile information and sign up for events. The app will organize random groups within events based on profile information. The grouping optimized for the highest average randomness.
- User signs up and fills out basic profile
- User registers for events.
- The user's group is hidden until the event date is within the release frame. For example, if a dinner event is at 5pm and the release frame is 1 hour, the user will be able to see who they are eatgin with at 4pm.
- A calendar invite is automatically sent to the user.
- The user attends the event
Admin have the ability to edit events, users, areas and settings. Any user can be promoted and demoted to an admin. The app will automitcally create and admin account.
- Deploy the app
- Login with the defulat admin account and enter basic profile information
- Navigate to the Admin > Configuration tab
- Create a couple "areas". These are the location groups that events will fall under
- Set the release frame (in hours)
- Set the calendar owner:
- Logout and go to the admin login page (/admin_login)
- Click google sign up
- Use the google account that will own the app's calendar
- Fill out basic profile info
- Logout and back into the admin account
- Navigate to the Admin > Configuration tab
- Select the google account from the calendar owner dropdown
- Click Update
- Create events
To veiw the app's settings, login as an admin and navigate to the Admin > Configuration tab. From there you can add, edit and remove areas.
- Meteor Core
- meteor-platform
- Routing
- Collections
- Accounts
- UI and UX
- Security
- SEO
- Development
The "insecure" and "autopublish" packages are removed by default (they make your app vulnerable).
client/ # Client folder
compatibility/ # Libraries which create a global variable
config/ # Configuration files (on the client)
lib/ # Library files that get executed first
startup/ # Javascript files on Meteor.startup()
stylesheets # LESS files
modules/ # Meant for components, such as form and more(*)
views/ # Contains all views(*)
common/ # General purpose html templates
model/ # Model files, for each Meteor.Collection(*)
private/ # Private files
public/ # Public files
routes/ # All routes(*)
server/ # Server folder
fixtures/ # Meteor.Collection fixtures defined
lib/ # Server side library folder
publications/ # Collection publications(*)
startup/ # On server startup
meteor-boilerplate # Command line tool
(*) = the command line tool creates files in these folders
Dev hosting is done locally using the (meteor commandline tool)[https://www.meteor.com/tool]. To run the app locally:
$ cd klick
$ meteor
- Go to (localhost:3000)[http://localhost:3000/]
Staging is done using meteor's cloud hosting. The staging env uses its own database and does not mirror prod. To deploy to staging:
- Get access to the staging domain from Nikhil
$ cd klick
$ meteor deploy klick
- Go to (klick.meteor.com)[http://klick.meteor.com]
The production server is hosted by (Modulus)[https://modulus.io/]. You must have the (modulus CLI tools)[http://help.modulus.io/customer/en_us/portal/articles/1701977-modulus-command-line] installed to deploy. To deploy:
- Get access to the staging domain from Nikhil
$ cd klick
$ modulus deploy
- Go to (klicktogether.com)[http://klicktogether.com]
This boilerplate has an MIT License, see the LICENSE.txt for more information.