A very simple boarding app with DRF

Overview

CRUD project with DRF

A very simple boarding app with DRF.


About The Project

유저 정보를 갖고 게시판을 다루는 프로젝트 입니다.

Version

  • Python: 3.9
  • DB: PostgreSQL 13
  • Django: 3.2.8

Built With

Getting Started

Prerequisites

Runserver with command line

$ pip install poetry
$ poetry install
$ export DJANGO_SECRET_KEY=49xq#g3=$7e
$ export DATABASE_URL=postgres://localuser:[email protected]:5432/crud
$ docker-compose up postgres
$ poetry run python manage.py runserver

Runserver with Docker

$ docker-compose up

Authentication

Using JWT

Authorization: Bearer 9944b09199c62b...e4b

Usage

Start the dev server for local development:

$ docker-compose up

API Document

http://localhost:8001/

Endpoints

Post API

Retreive

$ curl http://localhost:8000/api/v1/posts/?limit=3&offset=0

{
    "count": 5,
    "next": "http://localhost:8000/api/v1/posts/?limit=3&offset=3",
    "previous": null,
    "results": [
        {
            "id": 8,
            "author": {
                "username": "guest2",
                "email": "[email protected]"
            },
            "title": "red title",
            "content": "apple",
            "created_at": "2021-10-26T15:42:25+0000"
        },
        {
            "id": 7,
            "author": {
                "username": "guest2",
                "email": "[email protected]"
            },
            "title": "blue title",
            "content": "this is sky",
            "created_at": "2021-10-26T15:41:46+0000"
        },
        {
            "id": 6,
            "author": {
                "username": "guest2",
                "email": "[email protected]"
            },
            "title": "sample title 3 edited",
            "content": "interesting3  wow",
            "created_at": "2021-10-26T13:50:51+0000"
        }
    ]
}

List

$ curl http://localhost:8000/api/v1/posts/2/

{
    "id": 2,
    "author": {
        "username": "guest1",
        "email": "[email protected]"
    },
    "title": "sample title 2",
    "content": "interesting2",
    "created_at": "2021-10-26T13:29:13+0000"
}

Delete

$ curl -X DELETE http://localhost:8000/api/v1/posts/2/ -H "Authorization: Bearer eajsdfj...asfdasd"

Update

$ curl -X PATCH http://localhost:8000/api/v1/posts/2/ -d '{"content": "edit"}' -H "Authorization: Bearer eajsdfj...asfdasd"

{
    "title": "sample title 2",
    "content": "edit"
}

Create

$ curl -X POST http://localhost:8000/api/v1/posts/ -d '{"title":"title", "content": "content"}' -H "Authorization: Bearer eajsdfj...asfdasd"

{
    "title": "title",
    "content": "content"
}

Roadmap

  • CI/CD
  • deploy.
  • Unit tests and coverage.
  • Front page to see how it workds.

License

Distributed under the MIT License. See LICENSE for more information.

Modify the value and status of the records KoboToolbox

Modify the value and status of the records KoboToolbox (Modica el valor y status de los registros de KoboToolbox)

1 Oct 30, 2021
Another Provably Rare Gem Miner 💎 (for Raritygems)

Provably Rare Gem Miner Go (for Rarity) Pull Request is strongly welcome as I don't know anything about Golang/Python/Web3. Usage Install Python 3.x i

朱里 6 Apr 22, 2022
A topology optimization framework written in Taichi programming language, which is embedded in Python.

Taichi TopOpt (Under Active Development) Intro A topology optimization framework written in Taichi programming language, which is embedded in Python.

Li Zhehao 41 Nov 17, 2022
A library for pattern matching on symbolic expressions in Python.

MatchPy is a library for pattern matching on symbolic expressions in Python. Work in progress Installation MatchPy is available via PyPI, and

High-Performance and Automatic Computing 151 Dec 24, 2022
CD for MachineLearnia

Codebase supporting my talk on CI/CD for MachineLearnia (Nov 12 2021) The dataset used is available here. The point of the talk is to demonstrate a si

0 Feb 23, 2022
Site de gestion de cave à vin utilisant une BDD manipulée avec SQLite3 via Python

cave-vin Site de gestion de cave à vin utilisant une bdd manipulée avec MySQL ACCEDER AU SITE : Pour accéder à votre cave vous aurez besoin de lancer

Elouann Lucas 0 Jul 05, 2022
A tool for fixing inconsistent timestamp metadata (atime, ctime, and mtime).

Mtime Fixer Mtime Fixer is a tool for fixing inconsistent timestamp metadata (atime, ctime, and mtime). Sometimes timestamp metadata of folders are in

Halit Şimşek 2 Jan 11, 2022
Check broken access control exists in the Java web application

javaEeAccessControlCheck Check broken access control exists in the Java web application. 检查 Java Web 应用程序中是否存在访问控制绕过问题。 使用 python3 javaEeAccessControl

kw0ng 3 May 04, 2022
Acesse seus investimentos da NuInvest pelo Python (Experimental)

Acesse seus investimentos da NuInvest pelo Python (Experimental)

André Roggeri Campos 5 Dec 06, 2022
Contain the customization I made for my Linux rice.

dotfiles Contain the customization I made for my Linux rice. Credit and Respect Polybar Autohide Fulltime Rofi by adi1090x (only include my personal r

sora 3 Apr 04, 2022
ColabFold / AlphaFold2_advanced on your local PC (or macOS)

LocalColabFold ColabFold / AlphaFold2_advanced on your local PC (or macOS) Installation For Linux Make sure curl and wget commands are already install

Yoshitaka Moriwaki 207 Dec 22, 2022
A script to generate NFT art living on the Solana blockchain.

NFT Generator This script generates NFT art based on its desired traits with their specific rarities. It has been used to generate the full collection

Rude Golems 24 Oct 08, 2022
A synchronous, single-threaded interface for starting processes on Linux

A synchronous, single-threaded interface for starting processes on Linux

Spencer Baugh 27 Jan 28, 2022
Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python

Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python Cashier is a tool developed by Russell Durrett for the analysis and extr

3 Sep 11, 2022
A program that lets you use your tablet's tilting to emulate an actual joystick on a Linux computer.

Tablet Tilt Joystick A program that lets you use your tablet's tilting to emulate an actual joystick on a Linux computer. It's called tablet tilt joys

1 Feb 07, 2022
Semester Project on Signal Processing @CS UCU 2021

Blur Detection with Haar Wavelet Transform Requirements Python3 opencv-python PyWavelets Install these using the following command: $ pip install -r r

ButynetsD 2 Oct 15, 2022
The code submitted for the Analytics Vidhya Jobathon - February 2022

Introduction On February 11th, 2022, Analytics Vidhya conducted a 3-day hackathon in data science. The top candidates had the chance to be selected by

11 Nov 21, 2022
Svg-turtle - Use the Python turtle to write SVG files

SaVaGe Turtle Use the Python turtle to write SVG files If you're using the Pytho

Don Kirkby 7 Dec 21, 2022
Box CRUD API With Python

Box CRUD API: Consider a store which has an inventory of boxes which are all cuboid(which have length breadth and height). Each Cuboid has been added

Akhil Bhalerao 3 Feb 17, 2022
A type based dependency injection framework for Python 3.9+

Alluka A type based dependency injection framework for Python 3.9+. Installation You can install Alluka from PyPI using the following command in any P

Lucina 16 Dec 15, 2022