Skip to content

Mastori is a community-driven open-source project that aims to provide a simple and efficient blogging platform built for the Dev Community

Notifications You must be signed in to change notification settings

SpaceyaTech/mastori

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenshot from 2023-04-17 03-32-36

Python Django postgresql

CI Django & Postgres Tests

Jambo

Mastori: A SpaceYaTech Blog App made in Django

Mastori is a community-driven open-source project that aims to provide a simple and efficient blogging platform built with the Django Rest Framework.

Overview

The SpaceYaTech Content Management system is an open-application that lets users to quickly publish content and share it with ease to their audience. Inspired by existing CMSes like Hashnode, Wordpress, DEV and Joomla, we felt the need to create an African CMS created by young Africans looking to learn by contributing to Open Source. SpaceYaTech opted for a CMS as the debut open source project because of the technicalities involved in creating, maintaining and scaling a CMS. A CMS poses great technical challenges and a great learning opportunity for those looking to grow their tech skills. For a more detailed overview of the project, read through the CMS Backend wiki

The project is designed to help developers build their own blogging website or add blogging functionality to an the SpaceYaTech website with ease.

Endpoints

/mastori/

The /mastori/ endpoint allows retrieving all blog posts. GET requests to this endpoint retrieve a list of all blog posts

For complete documentation. Mastori Api Documentation

Authentication

/mastori/token/

Users

    /register/
    /login/

User Accounts

    /accounts/
    /accounts/id/

Blog Posts

    /mastori/
    /stori/id/
    /account/id/stori/
    /account/id/stori/id/

Comments

    /stori/id/comments/
    /stori/id/comment/id
    /account/id/stori/id/comment/
    /account/id/stori/id/comment/id/

Reactions

    /stori/id/reactions/
    /stori/id/reaction/id
    /account/id/stori/id/reaction/
    /account/id/stori/id/reaction/id/

Documentation

    /schema/docs/

Features

Mastori provides the following features:

  • Create, edit and delete blog posts
  • Publish, unpublish or delete blog posts
  • Tagging and categorizing posts
  • Searching for posts by title, content, tags or categories
  • User authentication and authorization
  • User profile management
  • Installation

To install Mastori, follow these steps:

  • Clone the repository: ```bash

          git clone https://github.com/yourusername/mastori.git
          ```
    
  • Create a virtual environment and activate it:

            python -m venv env
            source env/bin/activate
  • Install the required packages:

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

            python manage.py migrate
  • Create a superuser:

            python manage.py createsuperuser
  • Run the server:

            python manage.py runserver

Usage

Once the server is running, you can access the API at http://localhost:8000/api/. You can use any HTTP client to interact with the API, such as curl or httpie. Alternatively, you can use the built-in API explorer by navigating to http://localhost:8000/api/docs/ in your web browser.

To access the admin panel, navigate to http://localhost:8000/admin/ and log in using the credentials of the superuser you created earlier.

The blog Api

The blog api {{baseurl}}/blog/ shows a list of all available blog posts (Stori/Mastori) The model naming is abitrary and can be subject to change if need be Ther is also need to filter out the various blogposts in relation ti their tittle or date posted hence the filter

image

Contributing

We welcome contributions from the community. To contribute, follow these steps:

  • Fork the repository
  • Create a new branch
  • Make your changes and commit them
  • Push your changes to your forked repository
  • Create a pull request

Please make sure to follow the coding style and conventions used in the project.

Get to read the Contributions guide here.

Commit message template

Just so that we have all our commit messages to be more readable and sensible it is recomended we use a template for the commit messages. Here is a commit message template that one should follow when making your Contributions

License

Mastori is licensed under the MIT License. See LICENSE for more information.

Contributor Features

Enviroment setup By @wanjirumurira 82d55a4

Project Setup By @sangkips 82bc556

User & Accounts By @hellen-22 1818b63

PhoneNumberField By @sangkips 615c011

Authentication (JWT) By @hellen-22 c2d7a90

Throttling policy By @Collins-Omariba 9159a8e

Verification richtext editor By @aibunny 25f991b

Fixed Workflow Build Error (commit #100) By @mosesmbadi b40a5b4

Nested Comments By @aibunny bbab06c

Authentication

JWT Authentication by: Hellen

Phone Numbers

Api Throttling

Api Throttling by:Collins

Nested Comments

Nested Comments by: Fredrick

Contributors

Contributors

About

Mastori is a community-driven open-source project that aims to provide a simple and efficient blogging platform built for the Dev Community

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published