Skip to content

Flashcard-ai/flashcard-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Sumário

Visão geral

Estrutura das pastas

Endpoints

Como rodar o projeto

Autores

Créditos

Licença

Visão geral

O Flashcard AI consiste em um sistema de criação de flashcards inteligentes de uso manual ou com Inteligência Artifical para ajudar a vida dos estudantes. Escolha uma plataforma de estudos que você confie, insira o link no prompt da IA, espere alguns segundos e você terá cards gerados automaticamente para facilitar seus estudos.

Wireframe do sistema

Wireframe da tela de login

Estrutura das pastas (resumo)

Backend

flashcard-ai/
    backend/
        cards/
        categories/
        core/
        decks/
        signup/
        subcategories/
        users/
    
        .dockerignore
        .env.example
        Dockerfile
        manage.py
        pyproject.toml
        uv.lock
        
    .gitignore
    API.md
    docker-compose.yml
    README.md
    

Frontend

flashcard-ai/
    frontend/
        src/
            @types/
            api/
            assets/
            components/
            context/
            hooks/
            pages/
            routes/
            utils/
            index.css
            main.tsx
    
        .dockerignore
        .env.example
        .env.production
        Dockerfile
        index.html

        
    .gitignore
    API.md
    docker-compose.yml
    README.md
    

Como rodar o projeto

Você pode acessar o projeto em https://flashcard-ai-roan.vercel.app/, mas, se preferir, siga os passos abaixo para rodá-lo em sua máquina

Você pode (e recomendado) executar essa aplicação com Docker e Docker compose. Instale-os a partir dos links fornecidos.

Com Docker

Com docker-compose

docker compose up --build

Acesse localhost:3000 para frontend e localhost:8000 para backend

A partir do Dockerfile

Backend

Acesse a pasta flashcard-ai/backend para rodar o backend e execute:

docker build -t backend:latest .
docker run -p 8000:8000 backend:latest
Frontend

Acesse a pasta flashcard-ai/frontend para rodar o frontend e execute:

docker build -t frontend:latest .
docker run -p 3000:3000 frontend:latest

Clonando o repositório

Clone o repositório:

git clone https://github.com/Flashcard-ai/flashcard-ai.git
cd flashcard-ai

Backend

Entre na pasta do backend

cd backend

Instale as dependências

uv sync

Warning

ATENÇÃO: talvez seja necessário instalar o gerenciador de pacotes uv em seu sistema

Gerar SECRET_KEY do Django

python3 -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"

Configurar variáveis de ambiente

cp .env.example .env
# Entre no .env
SECRET_KEY=coloque_aqui_sua_chave_secreta_gerada
GROQ_API_KEY=coloque_aqui_sua_chave_secreta_do_groq_gerada

Important

Acesse https://console.groq.com/keys e gere sua GROQ_API_KEY

Rode as migrações

uv run python3 manage.py migrate # Ou apenas python (ou ainda py) no Windows

Execute o backend

uv run python3 manage.py runserver # Ou apenas python (ou ainda py) no Windows

Acesse http://localhost:8000

Frontend

Entre na pasta do frontend

cd frontend

Instale as dependências

npm install

Configurar variáveis de ambiente

cp .env.example .env
# Entre no .env
VITE_API_BASE_URL=http://localhost:8000
VITE_FRONT_DOMAIN=localhost

Execute o frontend

npm run dev

Acesse http://localhost:3000

Endpoints

Categorias

GET /categories/

POST /categories/

GET /categories/{id}/

Subcategorias

GET /subcategories/

POST /subcategories/

GET /subcategories/{id}/

Decks

GET /decks/

POST /decks/

GET /decks/{id}/

Cards

GET /cards/

POST /cards/

GET /cards/{id}/

POST /cards/ai/

Para ver todos os endpoints com campos obrigatórios e opcionais, consulte o API.md

Autores

Créditos

O ícone do corvo foi retirada do Flaticon pelo criador Freepik

Licença

Este projeto está licenciado sob a licença MIT.

Releases

No releases published

Packages

 
 
 

Contributors