Code Monkey home page Code Monkey logo

blog's Introduction

Django Blog Application

Welcome to the Django Blog Application! This is a feature-rich blogging platform built using Django, with various functionalities such as authentication, CRUD operations, post management (publishing, drafting, archiving), commenting, replying, and integration with Celery, Celery Beat, Flower, Redis, and Nginx.

Table of Contents

Features

  1. Authentication: User authentication is integrated into the application, allowing users to sign up, log in, and manage their profiles.

  2. CRUD Operations: Perform Create, Read, Update, and Delete operations on blog posts, allowing users to manage their content efficiently.

  3. Post Management:

    • Publishing: Users can publish blog posts to make them visible to the public.
    • Drafting: Save posts as drafts for later editing and publishing.
    • Archiving: Archive posts to keep them accessible while not being actively displayed.
  4. Comments and Replies: Engage with readers through comments on blog posts. Users can also reply to comments for interactive discussions.

  5. Celery Integration: Asynchronous task processing using Celery for improved performance and scalability.

  6. Celery Beat: Schedule periodic tasks with Celery Beat to automate recurring actions, such as publishing scheduled posts.

  7. Flower Monitoring: Monitor Celery tasks in real-time with Flower, providing insights into task execution and system health.

  8. Redis Integration: Utilize Redis for caching and improving the performance of the application.

  9. Nginx Integration: Deploy the application with Nginx as a reverse proxy server for improved security and performance.

Requirements

Ensure your system meets the following requirements before installing the application:

  • Python 3.x
  • Django
  • Celery
  • Redis
  • Nginx
  • Flower

Installation

  1. Clone the repository:
    git clone https://github.com/faresemad/Blog.git
  1. Build the application:
    make build

Usage

  1. Run the application:
    make up
  1. Run the application in detached mode:
    make up-detached

Configuration

The application can be configured by modifying the following files:

  1. Configure Django settings in blog/config/settings/base.py.

  2. Configure (Celery / Celery Beat / Flower) settings in blog/config/celery.py or blog/compose/django/celery/(beat/flower/worker).

  3. Configure Nginx settings in blog/compose/nginx/nginx.conf.

  4. Configure Django Environment settings in blog/.envs/.django.

  5. Configure Postgres Environment settings in blog/.envs/.postgres.

Folder Structure

The application is structured as follows:

  • `.envs` - Environment variable files for Django and Postgres.
  • `apps` - Application-specific files.
  • `config` - Settings for the application
  • `compose` - Docker Compose configuration files.
  • `requirements` - Application requirements files.
  • `manage.py` - Django's command-line utility for administrative tasks.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

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

blog's People

Contributors

faresemad avatar

Stargazers

Abdelrahman hassan hamdy avatar Mohamed Hamed 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.