Code Monkey home page Code Monkey logo

advance-backend-blogging-with-drf's Introduction

Welcome to Blogging Complete Backend with Django Rest Framework.

This Project Covers

  • How to use Docker with Celery, Redis, Flower with Django REST Framework
  • How to use Reverse Proxies with NGINX and NGINX Proxy Manager
  • How to Secure an API with HTTPS with SSL Certificates from Letsencrypt
  • API testing with Pytest using factories and fixtures
  • How to manage multiple Docker containers with Portainer
  • How to use shell scripts to automate and monitor processes
  • How to implement Asynchronous tasks with Celery and Redis
  • How to Serve static and media files with Nginx and Whitenoise.
  • How to implement Asynchronous tasks monitoring with Flower
  • How to work with Postgres within a Docker container, including how to perform backups using shell scripts.
  • How to setup an Ubuntu server, running Django over a Domain name.
  • How to use makefiles to make working with Docker easier.
  • Searching functionalities using elastic search
  • Python Test coverage using coverage
  • Logging in Django
  • Token Based Authentication
  • Working with emails using Mailhog in development and Mailgun in production.

Features

  • User registration and authentication
  • Creating, editing, and deleting blog posts
  • Liking and commenting on blog posts
  • Following other users and receiving notifications
  • Categorizing blog posts using tags
  • Searching for blog posts by keywords or tags
  • Pagination and sorting of blog posts
  • User profiles with bio and profile picture
  • User activity feed
  • Email notifications using MailHog
  • Asynchronous task processing using Celery and Redis
  • Monitoring and management of Celery tasks using Flower
  • Containerized deployment using Docker and Docker Compose
  • Reverse proxy and load balancing using Nginx

Technologies

Prerequisites

Make sure you have the following technologies installed on your machine:

Getting Started

  1. Clone the repository:

    git clone https://github.com/samsorrahman/Advance-Backend-Blogging-with-DRF.git
    
  2. Navigate to the project directory::

    cd src
    
  3. Build the Docker containers and start the application:

    make build

Download insomnia and add the api.har file

Capture

  1. Once the containers are built and the application is running, you can access the following resources:

    Documentation: Open your web browser and visit localhost:8080/redoc to access the API documentation.

    Flower (Celery monitoring): Open your web browser and visit localhost:5555 to access Flower, the monitoring and management tool for Celery tasks.

    MailHog (Email server): Open your web browser and visit localhost:8025 to access MailHog, the email testing tool. You can view the email notifications sent by the application here.

Additional Commands

The Makefile in the project contains other useful commands for managing the application. Some of the commonly used commands are:

Make sure to stop the application containers when you are done by running: make down

Complete Test Coverage

index.pdf

If you are on windows system: You Must Learn How to Run a Makefile in Windows

Here what I have brought for you!

checkout the requirement folder for dependencies installation.

advance-backend-blogging-with-drf's People

Contributors

samsorrahman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.