/kickooffee

Kick-off a python REST application while having a coffee

Primary LanguagePython

CircleCI codecov

Kickooffee

Kickoff a OO python REST application while having a coffee

Main Use Case

UC0001 - Provide a Simple REST API Foundation

Primary Actor: Developer

Stakeholders and Interests:

  • Me: Desires to provide a well crafted REST API foundation for quick kick-off of either a study, challenge, real application or anything.
  • Developer: May use this project as the foundation of her/his app.
  • Contributor: May help Me to craft this project and give some advice and ideas for a successful move forward with this project.

Preconditions: Developer has a study, challenge or a real REST application to be done.

Success Guarantee (or Postconditions): I received feedback about this project from Devs and Contributors. Hopefully, some Dev found this project useful for her/himself.

Happy Path

  1. Developer finds Kickooffee project.
  2. Developer gets Kickooffee project.
  3. Kickooffee provides a foundation with the minimum necessary to create a REST API application.
  4. Developer customizes Kickooffee according to her/his needs.
  5. Developer keeps going with her/his project.
  6. Developer gives the Kickooffee credits.

Extensions (or Alternative Flows):

4a. Kickoofee provides more than Developer needs:

  1. Developer removes what her/him don't want.

4b. Kickoofee provides less than Developer needs:

  1. Developer open an issue on Kickoofee repo.
  2. I will analyze what could be done.
  3. I will give a feedback about it.
  4. I will solve the issue.
  5. Developer gets again Kickooffee project updated.

Special Requirements:

  • Well crafted here means: OOA/D, Clean Code, Clean Architecture, Tests Coverage ~100%, Linter, CI/CD
  • Database ORM and raw SQL framework
  • REST APIs frameworks
  • Foundation includes User CRUD, SignUP, LogIn, Auth

Open issues:

  • What are the current framework available for the project?

Let's try to create a Domain Model

Installation

PostgreSQL

sudo apt update
sudo apt install postgresql postgresql-contrib -y
psql -V
sudo passwd postgres
postgres
postgres
su postgres
psql -c "ALTER USER postgres WITH PASSWORD 'postgres'" -d postgres
exit

Running

Add Kickooffee on the path

export PYTHONPATH=~/kickooffee/repo/kickooffee/src