Skip to content

qcri/apihub-users

Repository files navigation

<!-- PROJECT SHIELDS -->

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

APIHub

APIHub is a platform to dynamically serve API services on-fly. API service workers can be deployed when needed. apihub-users-users manages user and subscription for APIHub.
Explore the docs »

View Demo · Report Bug · Request Feature


Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

[Product Name Screen Shot][product-screenshot]

Here’s a blank template to get started: To avoid retyping too much info. Do a search and replace with your text editor for the following: yifan, apihub-users, yifan2019, email, APIHub, project_description

Features & TODOs

[X] Security
    [X] authenticate
    [X] admin, manager, user
    [X] user management
    [X] rate limiter
    [ ] register
    [ ] social login
[ ] Subscription
    [-] subscription
    [-] quota
    [X] application token
    [-] daily usage record in redis

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

  1. Clone the repo

    git clone https://github.com/yifan/apihub-users.git
  2. Install python packages

    poetry install

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to theDocumentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

  1. Fork the Project
  2. Install pre-commit (https://pre-commit.com/#installation)
  3. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  4. Test your code
  5. Commit your Changes (git commit -m 'Add some AmazingFeature')
  6. Push to the Branch (git push origin feature/AmazingFeature)
  7. Open a Pull Request

Testing

  1. Start postgres and redis

    docker compose up
  2. Setup environment variables in a local .env file

    cat >.env <<EOF
    DB_URI="postgresql://dbuser:dbpass@localhost:5432/test"
    JWT_SECRET="nosecret"
    REDIS="redis://localhost:6379/1"
    IN_REDIS="redis://localhost:6379/1"
    OUT_REDIS="redis://localhost:6379/1"
    SECURITY_TOKEN_EXPIRES_DAYS=1
    SUBSCRIPTION_TOKEN_EXPIRES_DAYS=1
    EOF
  3. Run tests

    poetry run test
  4. Shutdown docker services

    docker compose down

License

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

Contact

Yifan Zhang - [@yifan2019](https://twitter.com/yifan2019) - yzhang@hbku.edu.qa

Copyright (C) 2021, Qatar Computing Research Institute, HBKU

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published