No description
Find a file
2024-06-13 22:56:31 +02:00
app example 2021-07-07 12:01:59 +02:00
docs example 2021-07-07 12:01:59 +02:00
tests example 2021-07-07 12:01:59 +02:00
.coveragerc example 2021-07-07 12:01:59 +02:00
.env.example example 2021-07-07 12:01:59 +02:00
.gitignore example 2021-07-07 12:01:59 +02:00
CONTRIBUTING.md example 2021-07-07 12:01:59 +02:00
Makefile example 2021-07-07 12:01:59 +02:00
Pipfile Bump pydantic from 1.8.2 to 1.10.13 2024-04-25 06:02:49 +00:00
Pipfile.lock Merge pull request #19 from rjNemo/dependabot/pip/pydantic-1.10.13 2024-06-13 22:56:31 +02:00
README.md example 2021-07-07 12:01:59 +02:00
setup.cfg example 2021-07-07 12:01:59 +02:00

GraphQL File Upload

Short description about the package.

🚀 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

💼 Prerequisites

You need:

  • Python 3 installed on your local machine.
    • use pyenv to manage multiple versions (recommended): link,
    • or you will find installation steps for your platform on the python official website,
  • pipenv for virtual environment management: link.

🖥 Installing

Clone the project:

git clone https://github.com/rjNemo/graphql-file_upload.git

Create a virtual environment and install dependencies with:

make local-setup

Then launch the development server using:

make run

A GraphiQL API explorer is available on the development server address: http://127.0.0.1:8000/graphql/.

🎉 Enjoy!

Scripts

See Makefile for available scripts:

  • dev server
  • run tests

🧪 Running the tests

Tests are run using pytest and the test coverage is checked using pytest-cov.

make test

Unit tests

pipenv run test

Functional tests

pipenv run python -m pytest tests/functional_api

💅 And coding style tests

Coding style is enforced using black for formatting, flake8 for linting and mypy for static type checking. Additional security check are performed using bandit and safety.

make lint

It is encouraged to run linters and tests using make lint before committing to the repository.

👩‍🏫 GraphQL: GraphCool-Grammar

We use a GraphQL grammar to structure the endpoints systematically.

GraphCool Grammar

🛠 Built with

  • FastAPI - FastAPI framework, high performance, easy to learn, fast to code, ready for production
  • Ariadne - Python GraphQL schema-first

💻 Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting merge requests.