A site for connecting groups and locations.
More information coming soon.
- MongoDB
- The code
- A Meetup.com application
- SendGrid account (if working on anything that sends email)
Download and install MongoDB. After it has been installed, run the server.
The repository can be cloned locally with
git clone https://github.com/NYCPython/wheretomeetup.git
. After the
code has been downloaded, cd
into the wheretomeetup
folder,
create/activate a virtual environment, and run:
pip install -r requirements.txt
Read more about virtual environments.
You will need to create an application at Meetup.com. Be sure not to enter a Redirect URI, as this will cause Meetup to send OAuth 2.0 responses (WhereToMeetup uses OAuth 1.0a).
Create a file at the root of this repository named secrets.cfg
, with the
contents:
MEETUP_OAUTH_CONSUMER_KEY = 'your-meetup-application-key'
MEETUP_OAUTH_CONSUMER_SECRET = 'your-meetup-application-secret'
To send email, you will need a free SendGrid
account. Once you have signed up and your
account is activated, go to the credentials management
page, and add a new username and
password. Be sure to check the "API" and "Mail" (but not "Web") permissions
checkboxes. Add the username and password to secrets.cfg
like:
SENDGRID_USERNAME = 'your-new-username'
SENDGRID_PASSWORD = 'your-new-password'
To start the development server, run:
python runserver.py
All geospatial data should be stored as an array formatted
[longitude, latitude]
. A 2d index should be created on the field.
If you're going to be contributing to WhereToMeetup, you're going to want to run its test suite as you work.
If you just want to run the tests quickly, you can just run
YourFavoriteTestRunner tests
on the tests
package at the root of the repository. Before you send a pull
request or if you want to exactly imitate the test setup that the other
developers are working with though, you should instead use
tox by running
pip install tox
tox
in the root of the repository, which will run the test suite on all of the supported environments.
To perform a release to Heroku:
- Merge
develop
into the release branch (named after a version series, like0.9.x
) - If all tests pass on the release branch, merge the release branch to
master
- Create a new version number as a commit on
master
, and create a tag with that version - Deploy to Heroku with
git push heroku master
- Push the release branch, tags, and
master
back to Github.