Skip to content

API construída com FastAPI, fornecida pela Alura na Imersão DevOps, voltada para o gerenciamento de alunos, cursos e matrículas escolares. Utilizada como base para aplicação de práticas DevOps, como CI/CD com GitHub Actions e deploy com Docker e Google Cloud Run.

Notifications You must be signed in to change notification settings

Vitinho163/fastapi-school-api

Repository files navigation

Imersão DevOps - Alura Google Cloud

Este projeto é uma API desenvolvida com FastAPI para gerenciar alunos, cursos e matrículas em uma instituição de ensino.

Pré-requisitos

Passos para subir o projeto

  1. Faça o download do repositório: Clique aqui para realizar o download

  2. Crie um ambiente virtual:

    python3 -m venv ./venv
  3. Ative o ambiente virtual:

    • No Linux/Mac:
      source venv/bin/activate
    • No Windows, abra um terminal no modo administrador e execute o comando:
    Set-ExecutionPolicy RemoteSigned
    venv\Scripts\activate
  4. Instale as dependências:

    pip install -r requirements.txt
  5. Execute a aplicação:

    uvicorn app:app --reload
  6. Acesse a documentação interativa:

    Abra o navegador e acesse:
    http://127.0.0.1:8000/docs

    Aqui você pode testar todos os endpoints da API de forma interativa.


Autenticando no Google Cloud

gcloud auth login
gcloud config set project PROJECT_ID
gcloud run deploy --port=8000

Estrutura do Projeto

  • app.py: Arquivo principal da aplicação FastAPI.
  • models.py: Modelos do banco de dados (SQLAlchemy).
  • schemas.py: Schemas de validação (Pydantic).
  • database.py: Configuração do banco de dados SQLite.
  • routers/: Diretório com os arquivos de rotas (alunos, cursos, matrículas).
  • requirements.txt: Lista de dependências do projeto.

  • O banco de dados SQLite será criado automaticamente como escola.db na primeira execução.
  • Para reiniciar o banco, basta apagar o arquivo escola.db (isso apagará todos os dados).

About

API construída com FastAPI, fornecida pela Alura na Imersão DevOps, voltada para o gerenciamento de alunos, cursos e matrículas escolares. Utilizada como base para aplicação de práticas DevOps, como CI/CD com GitHub Actions e deploy com Docker e Google Cloud Run.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published