Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Lunaticsatoshi/dev-to-clone

A clone of dev.to web application made to recreate the basic functionalities of a micro blogging platform
https://github.com/Lunaticsatoshi/dev-to-clone

devto django docker docker-compose microblogging-service nextjs postgresql python3 scss tailwindcss typescipt typescript

Last synced: 11 days ago
JSON representation

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

Awesome Lists containing this project

README

        



Logo

Dev.to Clone


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

## Features

* [x] Register as a User
* [ ] Create Communities
* [ ] Create Articles
* [ ] Clap for Articles
* [ ] Comment on Articles
* [ ] Infinite Feed
* [ ] Create Tags
* [ ] Create Listings
* [ ] Manage Content

### 🏗️ Built With

[](https://nextjs.org/)

[](https://sass-lang.com/)

[](https://tailwindcss.com/)

[](https://www.python.org/)

[](https://www.typescriptlang.org/)

[](https://www.djangoproject.com/)

[](https://www.postgresql.org/)

## 🧩 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

```bash
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.

```sh
docker-compose -f docker/docker-compose.debug.yml up --build
```

3. Open 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
```bash
pip install pipenv
```

1. Create a virtual environment using pipenv where all the required python packages will be installed

```bash
# Use this on Windows
py -m pipenv shell
# Use this on Linux and Mac
python -m pipenv shell
```
2. Install pipenv

```bash
# Windows
pip install pipenv
# Linux and Mac
pip install pipenv
```

3. Install all the project Requirements
```bash
pipenv install
```
-Apply migrations and create your superuser (follow the prompts)

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

# Create a user with manage.py
python manage.py createsuperuser
```

4. Run the development server

```bash
# run django development server
python manage.py runserver
```

#### Steps to start the client

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

```env
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.

```sh
yarn install
```

3. Run the following command in the root directory.

```sh
yarn dev
```

5. Open to view it in the browser.

## 📸 Image

## 🔐 License

This project is licensed under the GPL License - see the [LICENSE.md](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.