Skip to content
Stop stalking and start StopStalking 😉
Python JavaScript CSS HTML XSLT C Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
controllers prepend cus_ for custom friends | validate no cus_ in stopstalk_handle Oct 6, 2019
cron Site added to the problem page + minor fixes Nov 29, 2015
graph_data [Issue #87]: script | column to track updation Jul 26, 2017
languages validate Hackerrank handle for query params Apr 21, 2019
models limit the pagination on user submissions page Sep 4, 2019
modules prepend cus_ for custom friends | validate no cus_ in stopstalk_handle Oct 6, 2019
private don't compute ratings for custom users Oct 9, 2019
rating_history track the history of StopStalk rating Apr 4, 2018
spoj_aws_lambda_function Happy new year ^_^ Jan 1, 2019
static change frequency for problem difficulty to 2 days Oct 2, 2019
tests/crawling Revert "handle codechef graph data temporary disable" Jun 22, 2019
user_editorials Remove unnecessary files | update requirements.txt Feb 10, 2018
views update downtime message Sep 18, 2019
.gitignore Support infinite scrolling for leaderboard Apr 29, 2019
ABOUT MIT License update 2016 Jan 3, 2016
LICENSE Happy new year ^_^ Jan 1, 2019
Makefile Add pre-push hooks for syntax check May 12, 2018 oops :( Aug 24, 2019
STATIC_FILES change frequency for problem difficulty to 2 days Oct 2, 2019 Repo initialized Jul 1, 2015 selective versioning and minification Jul 29, 2018 make the script executable Aug 19, 2019 Happy new year ^_^ Jan 1, 2019
requirements.txt handle spoj_lambda_url Feb 16, 2019 Repo initialized Jul 1, 2015
static_files_list.txt add static files for deploy Feb 27, 2019 handle update_js_timestamp for just a few files Apr 20, 2019 Add web2py_src 2.14.6 for local setups Dec 17, 2017


Stop stalking and Start StopStalking 😎

Module Requirements

Note: Apply sudo if required for your system.

  1. 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 requirements file. So if you are using proxy in your terminal you MAY use:

pip install -r requirements.txt --proxy=<proxy address>
  1. 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


  1. Install web2py (We need 2.14.6 version only) in a directory. We have commited the web2py source so that you can directly unzip and start using it

    • Unzip the 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
            • ...
  2. Navigate into the applications directory in web2py directory.

    $ cd web2py/applications/
  3. Install StopStalk by cloning this repository

    git clone
    mv stopstalk-deployment stopstalk

    Note: Web2Py does not allow appname to contain hyphens.

  4. Install MySQL - here Make sure you remember the root password for mysql server.

  5. Create a database in MySQL

    $ mysql -u root -p        # Enter your mysql root password after this.
    mysql> CREATE DATABASE stopstalkdb;
    mysql> CREATE DATABASE uvajudge;
  6. Copy to models/

    $ cd stopstalk/
    $ cp models/ models/
  7. Open 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
    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.

  8. Install Redis - here

  9. Navigate back to the web2py folder and start the web2py server.

    $ cd web2py
    $ python -a yourPassword // Choose any password
  10. Open the browser and go to the URL -



  • The database will be completely empty after installation
  1. Done. 😄

  2. To setup syntax check before all of your commits, just create a file in applications/stopstalk/.git/hooks/pre-commit with just make as it's content.

A few steps to setup your local database - StopStalk Wiki

Project Dependencies

StopStalk is built on the Web2Py Framework, which is a Python based MVC framework. The project also depends on a number of other open source packages, some of which are


  1. Fork the repository

  2. Clone your forked repository

  3. Find any of the issues from here - Issues and try solving it or any other enhancements

  4. 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

  5. We will review it as soon as possible.


Configure the models/ file as per your requirement.

Configuring Calendar API client ID

  1. Goto Google developers console and click on New Project.
  2. Give the project a name like stopstalk-test and create the project.
  3. Goto API Manager.
  4. Search and select Google Calendar API and enable it.
  5. Click on Go To Credentials and fill out the form
  6. Copy client ID and paste it in models/
  7. Done. 😄


Contact Us Page:


Creator Website:

Social Links

You can’t perform that action at this time.