Skip to content

A clone of dev.to web application made to recreate the basic functionalities of a micro blogging platform

License

Notifications You must be signed in to change notification settings

Lunaticsatoshi/dev-to-clone

Repository files navigation

Logo

Dev.to Clone

A clone of dev.to web application made to recreate the basic functionalities of a micro blogging platform

Features

  • Register as a User
  • Create Communities
  • Create Articles
  • Clap for Articles
  • Comment on Articles
  • Infinite Feed
  • Create Tags
  • Create Listings
  • Manage Content

🏗️ Built With

🧩 Getting Started

To get a local copy up and running follow these simple steps.

Clone the repo

  1. Clone the repository using the following command
git clone https://github.com/Lunaticsatoshi/dev-to-clone.git
# After cloning, move into the directory having the project files using the change directory command
cd dev-to-clone

Starting the development server with docker 🐳

Prerequisites

Make sure you have Docker and docker-compose installed on your machine.

Steps to start the server

  1. Add environment file .env in server directory with the variables fiven in the .env.example file.

  2. Run the following command in the project directory itself.

    docker-compose -f docker/docker-compose.debug.yml up --build
  3. Open http://localhost:8000 to view it in the browser.

Starting the development server without docker 📡

Prerequisites

Make sure you have Python and django installed on your machine.

NOTE:

The project was made with python version 3.9. and requires pipenv

Install pipenv globally

pip install pipenv
  1. Create a virtual environment using pipenv where all the required python packages will be installed
# Use this on Windows
py -m pipenv shell
# Use this on Linux and Mac
python -m pipenv shell
  1. Install pipenv
# Windows
pip install pipenv
# Linux and Mac
pip install pipenv
  1. Install all the project Requirements
pipenv install 

-Apply migrations and create your superuser (follow the prompts)

# apply migrations and create your database
python manage.py migrate

# Create a user with manage.py
python manage.py createsuperuser
  1. Run the development server
# run django development server
python manage.py runserver

Steps to start the client

  1. Add environment files in frontend directory. package/client/.env file

    NODE_ENV = "development"
    NEXT_APP_PRODUCTION_API_ENDPOINT = "production_url"
    NEXT_APP_DEVELOPMENT_API_ENDPOINT = "http://localhost:8000"
  2. To install all the dependencies run the following command in root directory.

    yarn install
  3. Run the following command in the root directory.

    yarn dev
  4. Open http://localhost:3000 to view it in the browser.

📸 Image

🔐 License

This project is licensed under the GPL License - see the LICENSE.md file for details

Suggestions and Bug Reports

Since this is an open source project all suggestions, requests and bug reports are always welcomed. If you have any don't forget to leave them in the issues section. But we recommend creating an issue or replying in a comment to let us know what you are working on first that way we don't overwrite each other.