============ FOSSEE Forum ============ A **WebApp** to provide online discussion, question and answer for professional and programmers. Clone ----- - Make sure your Internet is working. - Clone this repo by typing :: git clone -b fossee-forum https://github.com/FOSSEE/spoken-tutorial-forums.git Installation ------------ - Install Virtual Environment using the following command :: sudo apt-get install python-virtualenv - Create a Virtual Environment :: virtualenv /path/to/virtualenv - Activate the virtualenv using the command :: source /path/to/virtualenv-name/bin/activate - Change the directory to the `spoken-tutorial-forums/` project using the command :: cd /path/to/spoken-tutorial-forums - Install pre-requisites using the command (please don't use sudo) :: pip install -r requirement.txt or you can also type :: easy_install `cat requirement.txt` Usage ----- - Using MySQL (For development server only). Though, we recommend to use `MySQL` for deployment server. See `settings.py` file for usage. - Create 'forum' database in 'MySQL'. - Only for Server deployment, open `spoken-tutorial-forums/forums/settings.py` file and make the following changes :: DATABASES = { 'default': { 'ENGINE': 'django.db.backend.mysql', 'NAME' : 'forum', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } } - For development on your machine, create a file `config.py` in `spoken-tutorial-forums/forums/` and add :: db_user='root' #(MySql username) db_pass = 'root' #(MySql password) - For development on your machine, open `spoken-tutorial-forums/forums/settings.py` file and make the following changes :: DATABASES = { 'default': { 'ENGINE': 'django.db.backend.mysql', 'NAME' : 'forum', 'USER': db_user, 'PASSWORD': db_pass , 'HOST': '', 'PORT': '', } } - Populate the database using the following command :: cd /path/to/spoken-tutorial-forums python manage.py syncdb - Run the script populate_category.py which enters lists of foss categories into the table category from the `category_names.txt` file :: python populate_category.py - Start the server using the command :: python manage.py runserver **Not for first time users and only for developers** Migration (How to add a new model field to an existing table using South without having to drop a table) -------------------------------------------------------------------------------------------------------- - Enter into virual environment - install south :: pip install south - Add south to INSTALLED_APPS in settings.py - Change the directory to the `spoken-tutorial-forums/` project using the command :: cd /path/to/spoken-tutorial-forums - Run below command to create south_migrationhistory table :: python manage.py syncdb - Create the initial migration with South :: python manage.py schemamigration --initial website - Apply it as a fake migration :: python manage.py migrate website --fake - Make the change to the website model, in this case :: git pull - Create a migration for your new change :: python manage.py schemamigration --auto website - Apply new migration :: python manage.py migrate website Contributing ------------ - Never edit the master and fossee-forum branch. - Make a branch specific to the feature you wish to contribute on. - Send me a pull request. - Please follow `PEP8 `_ style guide when coding in Python. License ------- GNU GPL Version 3, 29 June 2007. Please refer this `link `_ for detailed description.