Skip to content

jirenmaa/twitter-clone

Repository files navigation

Twitter Clone

An attempt to create a twitter clone website (for learning purpose)

preview

Table Of Contents

About The Project

This is an experimental project that I choose to learn more about frontend and backend development and how they interact.

Built With

Django Rest Framework Vue JS Docker
https://www.django-rest-framework.org https://v3.vuejs.org https://www.docker.com

Features

  • Authentication
  • User Profile (tweets, media, replies, liked tweets)
  • Create Tweet
  • Delete Tweet
  • Like, Unlike Tweet
  • Reply Tweet

Getting Started

Running locally with docker 🐳

$ git clone https://github.com/jirenmaa/twitter-clone.git

change and configure .django.example to .django and .postgres.example to .postgres in .envs folder, then running the docker compose

$ docker-compose build && docker-compose up

The site will be hosted on http://localhost:8080

NOTE: if email settings in .django env is not configure, you will recive email for user activation (register) from console when you running docker-compose up.

Running locally with git clone

Assume you have 'python', 'node', 'docker' (optional), and'redis' (for email queue) installed to run the project.

$ git clone https://github.com/jirenmaa/twitter-clone.git

installing django & vue depedencies

$ pip install -r requirements.txt
$ cd website && yarn install

After installing both dependencies, you must configure the '.env' file in order to run the project. After you've set up '.env,' you can now start redis and celery.

NOTE: You must leave the redis server running by not close the terminal.

$ redis-server
$ celery -A celeryapp.tasks worker -l info

Before you can run Django, you must first create a database in Postgresql. Or you can do this by running the following command:

$ createdb -U postgres twitter-clone

running the rest of the project

$ yarn website
$ python3 manage.py runserver

License

Distributed under the MIT License. See LICENSE for more information.

Authors