Skip to content

CloudProjectD/back-end

Repository files navigation

Contributors Forks Stargazers Issues Pull Request MIT License


Table of Contents
  1. About The Project
  2. Getting Started
  3. Project Structure
  4. REST API
  5. Contributing
  6. License
  7. Contact

🔍 About The Project

(back to top)

🗃️ Built With

💡 Language & Framework

python fastapi

💡 Infrastructure

aws

💡 Environment (CI/CD, Package tools...)

Github-actions

(back to top)

🚀 Getting Started

⚡ Prerequisites

Download and install packages and associated dependencies via pip install

  • python
    pip install -r requirements.txt
    source ./venv/bin/activate

If you want to use Docker, then run docker compose up -d(Also it needs to stop with docker compose down).

** Also, you have to run black ./ before making pull request.

✏️ Configuration

Setting environment variables through .env

# .env

SECRET_KEY=secret
DEBUG=True
MYSQL_HOST=mysql-db
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=1234
DB_NAME=fastapi
BUCKET_NAME=
AWS_ACCESS_KEY=
AWS_SECRET_KEY=
AWS_SESSION_TOKEN=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URL=

(back to top)

🌐 Project Structure

├── Dockerfile
├── LICENSE
├── app
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-310.pyc
│   │   ├── __init__.cpython-311.pyc
│   │   ├── main.cpython-310.pyc
│   │   └── main.cpython-311.pyc
│   ├── api
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-310.pyc
│   │   │   └── __init__.cpython-311.pyc
│   │   ├── dependencies
│   │   │   ├── __init__.py
│   │   │   ├── __pycache__
│   │   │   │   ├── __init__.cpython-310.pyc
│   │   │   │   ├── __init__.cpython-311.pyc
│   │   │   │   ├── database.cpython-310.pyc
│   │   │   │   └── database.cpython-311.pyc
│   │   │   └── database.py
│   │   ├── errors
│   │   │   ├── __init__.py
│   │   │   ├── __pycache__
│   │   │   │   ├── __init__.cpython-310.pyc
│   │   │   │   ├── __init__.cpython-311.pyc
│   │   │   │   ├── http_error.cpython-310.pyc
│   │   │   │   ├── http_error.cpython-311.pyc
│   │   │   │   ├── validation_error.cpython-310.pyc
│   │   │   │   └── validation_error.cpython-311.pyc
│   │   │   ├── http_error.py
│   │   │   └── validation_error.py
│   │   └── routes
│   │       ├── __init__.py
│   │       ├── __pycache__
│   │       │   ├── __init__.cpython-310.pyc
│   │       │   ├── __init__.cpython-311.pyc
│   │       │   ├── api.cpython-310.pyc
│   │       │   ├── api.cpython-311.pyc
│   │       │   └── users.cpython-311.pyc
│   │       ├── api.py
│   │       └── users.py
│   ├── core
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-311.pyc
│   │   │   ├── config.cpython-311.pyc
│   │   │   └── logging.cpython-311.pyc
│   │   ├── config.py
│   │   └── logging.py
│   ├── db
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-311.pyc
│   │   │   ├── base.cpython-311.pyc
│   │   │   ├── base_class.cpython-311.pyc
│   │   │   └── session.cpython-311.pyc
│   │   ├── base.py
│   │   ├── base_class.py
│   │   └── session.py
│   ├── main.py
│   ├── models
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   └── __init__.cpython-311.pyc
│   │   ├── domain
│   │   │   ├── __init__.py
│   │   │   ├── __pycache__
│   │   │   │   ├── __init__.cpython-311.pyc
│   │   │   │   └── users.cpython-311.pyc
│   │   │   ├── jwt.py
│   │   │   ├── token.py
│   │   │   └── users.py
│   │   └── schemas
│   │       ├── __init__.py
│   │       ├── __pycache__
│   │       │   ├── __init__.cpython-311.pyc
│   │       │   └── users.cpython-311.pyc
│   │       └── users.py
│   ├── resources
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-311.pyc
│   │   │   └── strings.cpython-311.pyc
│   │   └── strings.py
│   └── services
│       ├── __init__.py
│       ├── __pycache__
│       │   ├── __init__.cpython-311.pyc
│       │   ├── authentication.cpython-311.pyc
│       │   ├── jwt.cpython-311.pyc
│       │   └── security.cpython-311.pyc
│       ├── authentication.py
│       ├── jwt.py
│       └── security.py
├── docker-compose.yml
├── fastapi.sql
├── requirements.txt
├── scripts
│   ├── format
│   ├── lint
│   ├── test
│   └── test-cov-html
├── setup.cfg
└── tests
    ├── __init__.py
    ├── conftest.py
    ├── test_api
    │   ├── __init__.py
    │   ├── test_errors
    │   │   ├── __init__.py
    │   │   ├── test_422_error.py
    │   │   └── test_error.py
    │   └── test_routes
    │       ├── __init__.py
    │       ├── test_articles.py
    │       ├── test_authentication.py
    │       ├── test_comments.py
    │       ├── test_login.py
    │       ├── test_profiles.py
    │       ├── test_registration.py
    │       ├── test_tags.py
    │       └── test_users.py
    ├── test_schemas
    │   ├── __init__.py
    │   └── test_rw_model.py
    ├── test_services
    │   ├── __init__.py
    │   └── test_jwt.py
    └── testing_helpers.py

(back to top)

📝 REST API

🔥 Contributing

Please refer to CONTRIBUTION.txt for Contribution.

For issues, new functions and requests to modify please follow the following procedure. 🥰

  1. Fork the Project
  2. Create a Issue when you have new feature or bug, just not Typo fix
  3. Create your Feature Branch from dev Branch (git checkout -b feature/Newfeature)
  4. Commit your Changes (git commit -m 'feat: add new feature')
  5. Push to the Branch (git push origin feature/Newfeature)
  6. Open a Pull Request to dev branch with Issues

(back to top)

🔐 License

Please refer to LICENSE.txt for LICENSE.

(back to top)

💬 Contact


Sumin Kim

Dahyun Kang

Nahyun Kim

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages