Stop stalking and Start StopStalking 😎
Note: Apply sudo if required for your system.
- First, make sure the development packages of libxml2 and libxslt are installed
Assuming you are running a Debian-based distribution, you can install them by using:
apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev
Install the required packages by running:
pip install -r requirements.txt
Also, pip doesn't respect proxy while installing packages from the requirements file. So if you are using a proxy in your terminal you MAY use:
pip install -r requirements.txt --proxy=<proxy address>
- To deploy the code, uglify-js and uglifycss needs to be installed
To install uglifyjs:
npm install uglify-js -g
To install uglifycss:
npm install uglifycss -g
-
Install web2py (We need 2.14.6 version only) in a directory. We have committed the web2py source so that you can directly unzip and start using it
- Unzip the web2py_src.zip somewhere outside the stopstalk directory.
- After unzipping the web2py, copy the source of stopstalk to its applications directory
- Final directory structure should be something like -
- web2py/
- applications/
- stopstalk/
- models
- views
- controllers
- ...
- stopstalk/
- applications/
- web2py/
-
Navigate into the applications directory in web2py directory.
$ cd web2py/applications/
-
Install StopStalk by cloning this repository
git clone https://github.com/stopstalk/stopstalk-deployment.git mv stopstalk-deployment stopstalk
Note: Web2Py does not allow appname to contain hyphens.
-
Install MySQL - here Make sure you remember the root password for mysql server.
-
Create a database in MySQL
$ mysql -u root -p # Enter your mysql root password after this. mysql> CREATE DATABASE stopstalkdb; mysql> CREATE DATABASE uvajudge;
-
Copy
0firstrun.py
tomodels/
$ cd stopstalk/ $ cp models/0firstrun.py.sample models/0firstrun.py
-
Open
0firstrun.py
and change the settings.current.mysql_user = "root" # Change if you have given access to any other user in mysql current.mysql_password = "" # As per your mysql password current.mysql_server = "localhost" current.mysql_dbname = "migration" # Will remain same as long as you followed 5. current.mysql_uvadbname = "uvajudge" # Will remain same as long as you followed 5. # Configure mail options current.smtp_server = "logging" # Mails will not be sent. Will be logged where the web2py server is running # Else you can set it to your smtp server. current.sender_mail = "" # Not required if logging current.sender_password = "" # Not required if logging current.bulk_smtp_server = "logging" current.bulk_sender_mail = "" # Not required if logging current.bulk_sender_password = "" # Not required if logging current.analytics_id = "" # Leave it empty if you don't want Google Analytics on Localhost current.calendar_token = "" # Leave it empty if you don't have an access token ID for Google Calendar API # Leave the following empty for very basic email validation # https://app.neverbounce.com/settings/api current.neverbounce_user = "" current.neverbounce_password = ""
In case if you want to send emails - Install
postfix
for your respective OS and configure the above smtp server accordingly. -
Install Redis - here
-
Install InfluxDB (1.7) - here
-
Navigate back to the web2py folder and start the web2py server.
$ cd web2py $ python web2py.py -a yourPassword // Choose any password
-
Open the browser and go to the URL -
http://localhost:8000/stopstalk/
Note:
- The database will be completely empty after installation
-
Done. 😄
-
To setup syntax check before all of your commits, just create a file in applications/stopstalk/.git/hooks/pre-commit with just
make syntaxx_check
as it's content.
A few steps to setup your local database - StopStalk Wiki
StopStalk is built on the Web2Py Framework, which is a Python-based MVC framework. The project also depends on several other open-source packages, some of which are
-
Fork the repository
-
Clone your forked repository
-
Find any of the issues from here - Issues and try solving it or any other enhancements
-
Solve the bug or enhance the code and send a Pull Request!
Note: Make sure to add the issue number in the commit message.
Example Commit message:
Solved Issue #5
-
We will review it as soon as possible.
Configure the models/000_config.py file as per your requirement.
- Goto Google developers console and click on New Project.
- Give the project a name like stopstalk-test and create the project.
- Goto API Manager.
- Search and select Google Calendar API and enable it.
- Click on Go To Credentials and fill out the form
- Copy client ID and paste it in models/0firstrun.py
- Done. 😄
Contact Us Page: https://www.stopstalk.com/contact_us
Email: admin@stopstalk.com, contactstopstalk@gmail.com, raj454raj@gmail.com
Creator Website: http://raj454raj.com