/website-with-Tracker

Django project. Website for representing company's goods and services. Has visit tracker module inside, sticky feedback js form. Uses Redis server as cache and visit statistics info.

Primary LanguageJavaScript

website

The Django project of the website for representing regular company and its goods and services.

The most interesting application of the project is a 'visits' application, because it is intended for tracking visits. The project uses Redis server as cache and storage for statistics of visits. The statistics is divided on different filters (country, city, year, month) via managing redis key names and hash tables.

There is a module fbb.js for pop-up sticky feedback JS form in the path ./static/js. All js modules are located in ./static/js path. Most of them use jQuery, but fbb.js (module of the popup sticky feedback form) is implemented according to ES6 standard. FBB means 'feedback box' form. This form is intended to let visiters sending messages to the company using ajax. The form has bot-proof capcha security. Capcha images are generated by server using Pillow python module. Capcha images are send to the browser in base64 text format to avoid saving them to the temporary directory and file io locks.

Also the project uses the PostgeSQL database for searching visiter's country and city according to ip-address. This database is based on Geolite2 MaxMind public database. There is a script for moving info from Geolite2 MaxMind public database files to PostgreSQL database.

All potentially long io-operations (redis, postgres, email interactions) are implemented via Celery tasks. You can observe them in module ./visits/tasks.py