Code Monkey home page Code Monkey logo

blog-site's Introduction

Blogging Website

This is a blogging website developed as the final project for CS50W using Django REST API on the backend and asynchronous JavaScript (fetch) on the frontend.

Table of Contents

Distinctiveness and Complexity

This blogging website stands out from other projects in CS50W as it offers a platform for users to create, publish, and manage their blog posts. Unlike projects focused on web parsing, this project is built with Django REST API and features asynchronous JavaScript for seamless user interactions. The project's complexity lies in its implementation of user authentication, blog post creation, commenting system, and single-page web application design. It incorporates Django models, serializers, authentication, and permission classes, demonstrating a medium level of complexity.

Features

  • User Authentication: Users can register, log in, and manage their profiles securely.
  • Blog Post Management: Users can create, edit, publish, and delete blog posts.
  • Commenting System: Users can leave comments on blog posts and engage in discussions.
  • Admin Interface: Administrators have access to manage blog posts and user accounts.
  • Category Filtering: Blog posts can be filtered based on categories for easy navigation.

Folder Structure

  • backend: Contains the Django project settings and configuration files.
    • api: Houses the API routes, models, and serializers.
    • backend: Includes security and settings files.
    • blogsite: Manages the frontend of the application, including templates, styles, and HTML files.

Technologies Used

  • Backend: Django, Django REST API
  • Frontend: Vanilla JavaScript, HTML, CSS
  • Database: SQLite (default Django database)

Installation

  1. Clone the repository:

    git clone https://github.com/neevan0842/Blog-Site.git
  2. Navigate to the backend directory and install dependencies:

    cd Blog-Site/backend
    pip install -r requirements.txt
  3. Set up the database:

    python manage.py makemigrations
    python manage.py migrate
  4. Start the development server:

    python manage.py runserver
  5. Access the website at http://localhost:8000 in your web browser.

Usage

  1. Create an account or log in if you already have one.
  2. Explore existing blog posts or create your own.
  3. Engage with other users by leaving comments on blog posts.

Contributing

Contributions are welcome! If you have frontend skills and would like to enhance the user interface, feel free to make use of the REST API provided. Submit pull requests for improvements or open issues for discussions.

Known Issues and Future Improvements

There is room for many improvements in the project's design and functionality. Future enhancements will be made as skills develop.

YouTube Demo

Check out the YouTube demo of the blogging website: https://youtu.be/KC9Lw2fHeTk

License

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

blog-site's People

Contributors

neevan0842 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.