Skip to content

iwtba4188/NTHU-Data-API

 
 

Repository files navigation

NTHU-Data-API

NTHU-Data-API is a project designed for NTHU developers.
It provides an easy way to fetch data from the NTHU website.

Codefactor Score Code style: black Test Coverage
Lines of Code Technical Debt

Introduction

NTHU-Data-API is a project designed for NTHU developers. It provides an easy way to fetch data from the NTHU website.

Getting Started

Prerequisites

Ensure you have Python 3 installed on your machine. You can verify this by running python3 --version in your terminal. If you don't have Python 3 installed, you can download it here.

Installation

  1. Clone the repository:
git clone https://github.com/NTHU-SA/NTHU-Data-API.git
  1. Navigate to the project directory:
cd NTHU-Data-API
  1. Install the required dependencies:
pip3 install -r requirements.txt

Configuration

Copy the environment template file and fill in your details:

cp .env.template .env

Running the Application

python3 main.py

Contributing

We follow certain guidelines for contributing. Here are the types of commits we accept:

  • feat: Add or modify features.
  • fix: Bug fixes.
  • docs: Documentation changes.
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi colons, etc).
  • refactor: Code changes that neither fixes a bug nor adds a feature.
  • update: Document or data changes that neither fixes a bug nor adds a feature.
  • perf: Code changes that improve performance.
  • test: Adding missing tests.
  • chore: Changes to the build process or auxiliary tools and libraries.
  • revert: Reverts a previous commit.

pre-commit

  1. Before committing, use pre-commit to ensure the format.
pip3 install -r requirements-dev.txt
  1. Install pre-commit.
pre-commit install

Running Tests

To run tests locally before committing changes, follow these steps:

  1. Install the required dependencies:
pip3 install -r requirements-tests.txt
  1. Run tests: Navigate to the project's root directory and execute:
python3 -m pytest -n auto tests -W ignore::DeprecationWarning
  1. Generate a coverage report (optional): If you need a test coverage report, run:
python3 -m pytest -n auto tests -W ignore::DeprecationWarning --cov=src --cov=tests --cov-report=xml --cov-report=html:coverage --cov-fail-under=85

Credit

This project is maintained by NTHUSA 32nd.

License

This project is licensed under the MIT License.

Acknowledgements

Thanks to SonarCloud for providing code quality metrics:

SonarCloud

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Dockerfile 0.3%