Skip to content

A feature-rich blog application built with Django, featuring user authentication, post management, and a custom admin interface. Ideal for developers looking to create a robust blogging platform or learn Django web development.

License

Notifications You must be signed in to change notification settings

Emicy963/Django-Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Blog Project

Project Overview

This project is a blog application developed using the Django framework. The blog allows users to create and manage posts, and interact with the content through comments and likes. Additionally, it includes user profile management, with the ability to edit personal information. It also integrates third-party API data into the blog posts, making it a dynamic and feature-rich platform.

Features

  • User registration, login, and profile management.
  • Create, edit, and delete blog posts.
  • Comment on posts and interact with content.
  • Pagination for post listings.
  • Category and tag support for organizing posts.
  • Search functionality to find specific posts.
  • Third-party API integration for dynamic data.

Technologies Used

  • Django: Backend framework used for managing models, views, and templates.
  • PostgreSQL: Database used in production for reliable data storage.
  • Bootstrap: For responsive and modern design.
  • HTML/CSS: Template styling and structure.
  • JavaScript: For additional client-side functionality.

Installation and Setup

Pre-requisites

Before running this project, ensure you have the following installed:

  • Python 3.x
  • pip (Python package manager)
  • PostgreSQL (for production database)

Installation Steps

  1. Clone the repository:

    git clone https://github.com/emicy963/django-blog.git
    cd django-blog
  2. Set up a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Install the required packages:

    pip install -r requirements.txt
  4. Set up the database:

    • Make sure PostgreSQL is running, and create a database for the project.
    • Update the DATABASES configuration in the settings.py file to connect to your PostgreSQL instance.
  5. Run database migrations:

    python manage.py migrate
  6. Create a superuser (admin):

    python manage.py createsuperuser
  7. Start the development server:

    python manage.py runserver
  8. Access the blog in your browser:

    • Open http://127.0.0.1:8000 in your web browser.

Environment Variables

Set the following environment variables in a .env file to securely configure your project:

SECRET_KEY=your_secret_key
DEBUG=False
ALLOWED_HOSTS=your_domain_or_ip
DATABASE_URL=postgres://username:password@localhost:5432/your_db_name

Usage

[Provide brief instructions on how to use the blog, e.g.:]

  • Access the admin panel at /admin to manage blog posts and users
  • Visit the homepage to view recent blog posts
  • Register a new account or log in to create and manage your own posts

Contributing

Weelcome contributions to improve this Django blog project! Here's how you can contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/AmazingFeature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some AmazingFeature')
  5. Push to the branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

Please make sure to update tests as appropriate and here to the project's coding standards.

Reporting Issues

If you find a bug or have a suggestion for improvement, please open an issue on the GitHub repository. Provide as much detail as possible, including steps to reproduce the issue if applicable.

License

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

MIT License

Copyright (c) [2024] [Anderson Cafurica]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

A feature-rich blog application built with Django, featuring user authentication, post management, and a custom admin interface. Ideal for developers looking to create a robust blogging platform or learn Django web development.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published