Skip to content

jpcadena/black-clover

Repository files navigation

black-clover


Logo

black-clover

Black Clover RESTful API project based on FastAPI.
Explore the docs »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About the project

This project is about Black Clover.

Project

In the Clover Kingdom, The Wizard King requires designing a system for the magic academy; this must perform the registration of the student's request and the random assignment of the Grimoire to him. The level of these Grimoires is categorized by the type of clover on the cover:

  • Sincerity – 1-leaf clover.
  • Hope – 2-leaf clover.
  • Love – 3-leaf clover.
  • Good Fortune - 4-leaf clover.
  • Despair – 5-leaf clover.

Students will have one of the following magic affinities:

  • Darkness
  • Light
  • Fire
  • Water
  • Wind
  • Earth

For this requirement it is required to expose a Rest API, built with the aforementioned tools. The endpoints necessary to support the following operations must be exposed:

  • Send application for admission.
  • Update admission application.
  • Update application status.
  • Consult all requests.
  • Consult Grimoire assignments.
  • Delete application for admission.

Once the application is approved, the self-assignment of the Grimoire and the cover must be made. Applications for admission must indicate at least the following information of the applicant:

  • Name (only letters, maximum 20 characters).
  • Last name (letters only, maximum 20 characters).
  • Identification (numbers and letters, maximum 10 characters).
  • Age (only numbers, 2 digits).
  • Magical Affinity (mentioned above).

(back to top)

Built with

  • Python
  • FastAPI
  • Pydantic
  • Starlette
  • Uvicorn
  • Gunicorn
  • PostgreSQL
  • jwt
  • MJML
  • HTML5
  • Pylint
  • Pycharm
  • Markdown
  • Swagger

(back to top)

Getting started

Prerequisites

Installation

  1. Clone the repository
    git clone https://github.com/jpcadena/black-clover.git
    
  2. Change the directory to root project
    cd black-clover
    
  3. Create a virtual environment venv
    python3 -m venv venv
    
  4. Activate environment in Windows
    .\venv\Scripts\activate
    
  5. Or with Unix/Mac OS X
    source venv/bin/activate
    
  6. Install requirements with PIP
    pip install -r requirements.txt
    

(back to top)

Usage

  1. If found sample.env, rename it to .env.
  2. Replace your credentials into the .env file.
  3. Execute with console
    python main.py
    

(back to top)

Contributing

GitHub

If you have a suggestion that would make this better, please fork the repo and create a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Use docstrings with reStructuredText format by adding triple double quotes """ after function definition.
Add a brief function description, also for the parameters including the return value and its corresponding data type.
Please use linting to check your code quality following PEP 8.
Check documentation for Visual Studio Code or Jetbrains Pycharm.
Recommended plugin for autocompletion: Tabnine

(back to top)

License

Distributed under the MIT License.

(back to top)

Contact

  • LinkedIn
  • Outlook

(back to top)