Skip to content

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 interested in obtain.

License

Notifications You must be signed in to change notification settings

UlisesAlexanderAM/skillventory

Repository files navigation

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 interested 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

Local use

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.

Deployment

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.

With pipx

pipx install poetry

With the official installer

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.

Basic dev environment

poetry install --no-root --with test

With linting tools

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

Working with docs

poetry install --no-root --with docs

All included

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.

Inside the environment

pytest

Outside the environment (environment not active)

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.

About

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 interested in obtain.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •