Circa is a platform for local buying and selling. It creates a hassle-free experience by handling payments, delivery, and returns. Cheaper than Amazon, safer than Craigslist!
Circa was originally created by Gautam Narula and Andrew Schuster, co-founders (and Chief Donut Procurer and Chief Delivery Boy, respectively) of Centaurii, Inc. Now that Centaurii is defunct, Gautam (me) has open-sourced the code. Circa will remain in test mode at www.usecirca.com.
To run your own instance of Circa, do the following:
- Clone this repo and install Pip if you don't already have it.
- Use your terminal to navigate to the directory with requirements.txt and run
pip install -r requirements.txt
. This will install all the necessary packages to run Circa. - You will need to generate your own secret key in the Django settings file at
circa/circa/settings.py
. You will also have to changeALLOWED_HOSTS
andSITE_DOMAIN
to the appropriate values if you plan on running this in production. Do not keep the settings file under version control. - You will need fill in your API keys in
core/keys.py
, which requires your Stripe API keys to process real or test payments and keys for other services (social auth, transactional email, etc.). You can get these API keys by creating a Stripe account and following their instructions. Do not keep the keys file under version control. - You will need to create a database and migrations. Navigating to the directory with manage.py and running
python manage.py migrate
should take care of that. If you'd like to use a database other than the default sqlite3, you'll have to do additional configuration. - Run 'python manage.py runserver' to run a local instance of Circa. That's it! Please note that Circa is not compatible with Python 2.x.
- When
debug=true
in settings.py, the site goes into test mode and the test Stripe API keys are automatically used instead of the live ones. Look at the Stripe documentation for test mode to see how to simulate credit card transactions. - If you plan on doing real credit card transactions, make sure you have SSL (HTTPS) enabled on your site! Not doing so means your users' credit card information will be sent unencrypted over the interwebz.
- This repo will no longer be updated, so if you'd like to use it be sure to update to the latest version of Django (or at least upgrade to the latest version of the Django 1.8 long term release--that shouldn't break anything), upgrade dependencies (this is important, because some of the dependencies are now insecure and should be upgraded to the latest version), etc. Some upgrades may cause minor breakage, but it shouldn't cause any serious or difficult to fix issues.
- This code is licensed under the MIT license. If you do something cool with it, I'd love to hear about it!
- The
EMAIL_BACKEND
andDEFAULT_FROM_EMAIL
will have to be updated accordingly. Also, Mandrill doesn't really work the way it did when we were using it for Circa, so keep that in mind.