Skip to content

Skillventory

CircleCI Codacy Badge Codacy Badge GitHub License

pre-commit.ci status Testing with poetry workflow Build docker image workflow

📘 Documentation 💻 Source code

An API to manage a personal inventory.

What's a personal inventory?

In this case a personal inventory is a set of skills, knowledge and competences that a person has or is interest in obtain.

💡 Motivation

While taking a course about Career Plan Design and Development in Platzi. I came access this concept of a Personal Inventory and how this is part of the self-knowledge toolkit. I wanted to use it but I wasn't happy with my first iteration using worksheets. So I decide to build it as a webapp, then I decide to first build the API. In the future I'll add one or more front-end as demos.

🚀 Quickstart

Docker

docker run -p <Local_Port>:80 ulisesalexanderam/skillventory:latest

Where the Local_Port is the port where you want to access the container from the host.

docker run -p <Deployment_Host_Port>:80 ulisesalexanderam/skillventory:latest

Where the Deployment_Host_Port is the port in the deployment host from where you give access to the container.

🎯 Roadmap

Here is a little roadmap of what I want to implement and what its already implemented.

  • Complete CRUD API (functions that interact with the DB)
  • Rest API for the personal inventory
  • Upload Docker image to Docker Hub
  • Simple demo web client
  • Simple gtk+ desktop client

🙌 Contributing

I really appreciate any kind of contributions but I list how you can contribute in some specific ways. Skillventory is currently develop and maintain by Ulises Alexander AM. I'm looking for additional maintainers that can help improve this project.

Providing feedback

You can provide feedback using the issues feature of GitHub. Open an Issue to request features, report bugs, or ask a question.

Graphic Design

At the moment Skillventory doesn't have a logo or any kind of supplemental imagery. So I welcome any submissions or suggestions for the logo and graphics associated with Skillventory

Documentation

You can help me proofreading and fixing any typo or formatting issues in the docs/ or README files. Material for MkDocs is use to build and publish the documentation.

Note

The index.md and README.md files are content equals.

Code

You can also help with code.

Setting up your dev enviroment

The first thing you probably want to do is fork the project. You can do it from the web or if you have GH CLI installed in your system, with the following command:

gh repo fork UlisesAlexanderAM/skillventory

If you haven't clone your fork into your system, proceed to do it.

This project uses poetry, so I recommend you install it first, if you don't already have it installed.

pipx install poetry

Linux, macOS, Windows(WSL)

curl -sSL https://install.python-poetry.org | python3 -

Windows(Powershell)

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

With poetry already in your system, and your fork, is time to install the dependencies.

poetry install --no-root --with test
poetry install --no-root --with test linting
poetry install --no-root --with docs
poetry install --no-root -with test linting docs

You can use poetry shell to spawn a subshell, or is possible that your IDE already detects your environment.

To test your code, simply use pytest.

pytest
poetry run pytest

Finally open a pull request, if you add new funtionality please add some tests. In case you don't know how or need help open your PR as a draft pull request.