Skip to content

an exhaustive ekşi sözlük clone, powered by Python

License

Notifications You must be signed in to change notification settings

BilalAlpaslan/django-sozluk

 
 

Repository files navigation

django-sozluk, ekşi sözlük clone powered by Python

Codacy Badge License

Demo website is now available at sozluk.me
Check CHANGELOG before cloning a newer version!

This is a clone of ekşi sözlük. Commonly referred as "collaborative dictionary", this type of social networking can be thought as "urban dictionary on steroids". Visit this Wikipedia article to learn more about this type of social network.

Installation guide is now available in Turkish!

If you want to contribute to the project or have found a bug or need help about deployment etc., you may contact me via Telegram (I use the same username there) or create an issue.

Check out "todo" keyword in the project files or Github issues to see the to-do's.

Check out screenshots folder to see current front-end in action with both the desktop and mobile views.

To run the site in development mode, follow regular procedures (setting up virtual environment, installing requirements etc.), then create generic users using create_generic_user command provided by dictionary app. More information can be found about this command via --help. Check out djangoproject.com to see how to handle deployment procedures if you already don't know.

To receive e-mails in development, make sure that a Celery worker is running in background. The default set-up allows output in console; have your local email server set up with this command, (if the port 1025 is already in use, change it also in the settings):

python -m smtpd -n -c DebuggingServer localhost:1025

Python 3.8.2+ required.

Docker usage

A docker configuration for a (rough) production setup is included; to take a quick look, you may serve the project using docker. Use this command to build and serve:

docker-compose up -d

Initially, you also have to run a script (in the web container) that sets up the database, collects static files and generates required users for the dictionary app:

docker-compose exec web bash scripts/setup.sh

You are most likely to create an admin account after these processes:

docker-compose exec web python manage.py createsuperuser

If you intend to use this configuration for production, make sure you have edited all the .env files, Django settings file (settings_prod.py) and dictionary settings file (dictionary/apps.py) with proper credentials. Make sure you change the passwords of users that are generated through setup.sh script.

About

an exhaustive ekşi sözlük clone, powered by Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 51.3%
  • HTML 25.7%
  • JavaScript 12.3%
  • CSS 10.2%
  • Other 0.5%