-
-
Notifications
You must be signed in to change notification settings - Fork 12
Newbie
If you are totally new to SciPy Central codebase, looking to contribute to the project,this document tries to help you!
SciPy Central is a file management system. Its a place to share code, libraries, etc that have done using SciPy, Numpy and other similar ecosystems. Matlab Central is one such website created by Mathworks for Matlab.
The below are the technologies we use broadly. Please refer to README file if you are looking a complete list! We hope to give you a basic idea of what we usually use/ work on.
- Python 2.7
- Django 1.4.5 (1.3)
- Postgre SQL
- HTML5, LESS, jQuery
- Twitter Bootstrap
- Git, Mercurial
These are the list of apps in our project.
feeds
Location: /scipy_central/feeds/ Provides feed syndication for the content in the site. We used django.contrib.syndication for building this app
filestorage
Location: /scipy_central/filestorage/ It primarily takes care of file storage functions for the site. We currently use Mercurial repos in static directory (/scipy_central/data/code/) for storage of content submitted by users. You might want to consider looking at /filestorage/dvcs_wrapper.py to get an idea how we actually interface it
pagehit
Location: /scipy_central/pagehit Its used to log page hits
pages
Location: /scipy_central/pages/ Its where we have all static pages. Licenses, Markup help, About etc lie here
person
Location: /scipy_central/person/ This app is for User related stuff. Its where user profile is defined!
rest_comments
Location: /scipy_central/rest_comments/ This where user submitted content (ReStructured Text) into HTML before storage. We use Pygments to process markup for the code.
screenshot
Location: /scipy_central/screenshot/ Handles image uploads.
submission
Location: /scipy_central/submission/ Deals with user submissions. At present users have choice of submitting their content under 3 types (snippet, link, package). IPython Notebook file support will be coming soon.
Each user submission is referred as submission or entry. Each submission has Revisions. If you improve an existing submission, its marked as Revision. All revisions are referred using generic relation from submissions!
tagging
Location: /scipy_central/tagging/ Tags to submissions are done here!
thumbs Location: /scipy_central/thumbs/ Reputation (thumbs) system for submissions, comments is done here. Note: This module is under development and will come soon!
utils
Location: /scipy_central/utils/ This app basically provides general functions. For example extracting IP Address from request
Others
- We use Xapian Haystack for search. Those settings can be observed at /scipy_central/search_settings.py While you need to go through search_indexes.py inside apps for specific details.
- /scipy_central/urls.py provide global level url conf for all apps. You might want to consider going from here to explore the project
- /scipy_central/context_processory.py provide extra context variables to dynamically render important static data from settings.py instead of hard coding in HTML files
- /deploy/ is where you can find settings.py, urls.py (root), manage.pz
- /deploy/templates/ provide base templates for site design!
- /deploy/media/ is where our static files data lies