A Website to provide online discussion, question and answer for professionals and programmers on niche areas.
Make sure your Internet is working.
Clone this repo by typing
git clone -b fossee-forum https://github.com/FOSSEE/FOSSEE-Forum.git
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 commandcd /path/to/spoken-tutorial-forums
Install pre-requisites using the command (please don't use sudo)
pip install -r requirements.txt
or you can also type
easy_install `cat requirements.txt`
Using MySQL (For development server only). Though, we recommend to use
MySQL
for deployment server as well. See settings.py file for usage.Create 'forums' database in 'MySQL'.
Only for Server deployment, open
FOSSEE-Forum/forums/settings.py
file and make the following changesDATABASES = { 'default': { 'ENGINE': 'django.db.backend.mysql', 'NAME' : 'forums', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } }
For development on your machine, create a file
local.py
inFOSSEE-Forum/forums/
and addDB_USER = 'root' # (MySql username) DB_PASS = 'root' # (MySql password) # To be obtained from FOSSEE-Forums admin PUB_KEY = '' PRIV_KEY = '' # To be obtained from https://www.google.com/recaptcha/admin#list FORUM_GOOGLE_RECAPTCHA_SECRET_KEY = '' FORUM_GOOGLE_RECAPTCHA_SITE_KEY = ''
For development on your machine, open
FOSSEE-Forum/forums/settings.py
file and make the following changesDATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME' : 'forums', 'USER': DB_USER, 'PASSWORD': DB_PASS, 'HOST': '', 'PORT': '', } }
Set up the database
forums
by typingsudo mysql -u root -p
in the terminal to log into MySQLmysql> CREATE DATABASE forums; mysql> GRANT ALL PRIVILEGES ON forums.* TO 'username'@'hostname' IDENTIFIED BY 'password'
Get the database file from FOSSEE-Forum admin and dump data into
forums
databsesudo mysqldump -u [username] -p[password] forums < database.sql
Comment line 10 and lines 34-48 in
spamFilter.py
as these will work only when Question and Answer model is present in databasePopulate the database using the following command
cd /path/to/FOSSEE-Forum python manage.py makemigrations python manage.py migrate python manage.py makemigrations website python manage.py migrate website
Run the script
populate_category.py
which enters lists of foss categories into the table category from the category_names.txt filepython populate_category.py
Start the server using the command
python manage.py runserver
You can add a superuser and a user for the forum using the command
python manage.py createsuperuser
Modify the webapp using Django admin panel and login to explore all the features of the website
Not for first time users and only for developers Migration ---------- (How to add a new model field to an existing database)
Enter into virual environment
Change the directory to the
FOSSEE-Forum/
project using the commandcd /path/to/FOSSEE-Forum
Run below command to create required migration commands
python manage.py makemigrations
Execute the required migrations
python manage.py migrate
Make the change to the website model, for example, you can add a model
class TestModel(models.Model): name = models.CharField(max_length=100)
Create a migration for your new change
python manage.py makemigrations website
Apply new migration
python manage.py migrate website
- Fork the repository to contribute changes.
- It is preferable to make a branch specific to the feature you wish to contribute on.
- Send a pull request.
- Please follow PEP8 style guide when coding in Python.
GNU GPL Version 3, 29 June 2007.
Please refer this link for detailed description.