/mymangalist

A REST API to organize my manga list. How much manga do you read?

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

MyMangaList

A REST API to organize my manga list. How much manga do you read?

📝 Prerequisites

Before you begin, ensure you have met the following requirements:

  • You must have an AWS Credentials
  • Configure the AWS CLI
  • You have installed the Node.js
  • You have installed the Python 3.8
  • You have installed the Pipenv

🚀 Quick start

  1. Setup the project by. clone the project and install the dependencies

    git clone https://github.com/malaquiasdev/mymangalist.git
    cd mymangalist
    npm install
    pipenv install
  2. Local development. Create a .env file at the root of the project. Make sure you follow the .env.example file as a guide.

    serverless offline

    To learn more about the capabilities of serverless-offline, please refer to its GitHub repository.

  3. Testing. We are using the python unittest to run our suites.

    python -m unittest discover test
  4. Bundling dependencies. We are using a Pipfile file and the serverless-python-requirements plugin. Every lib installed here will be automatically injected to Lambda package during build process. For more details about the plugin's configuration, please refer to official documentation. The package.json file is here to manager the serverless framework version and plugins. It is a prerequisites.

  5. Deployment.

    serverless deploy --aws-profile {YOUR_PROFILE_HERE} --stage {dev/prd/test/v1}

    For more details about the command, please refer to official documentation.

📡 AWS services that we use

  • AWS CloudFormation
  • AWS CloudFront
  • AWS API Gateway
  • AWS Lambda
  • AWS DynamoDB
  • AWS Cloud Watch

Services diagram

MyMangaList diagram

🧐 What's inside?

🎉 Contributors

Thanks goes out to all these wonderful people (emoji key):

|
Mateus Malaquias

💻

Respect earns Respect 👏

Please respect our Code of Conduct, in short:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

License

MyMangaList is released under the GNU GENERAL PUBLIC LICENSE.

Copyright © 2019.