Uma aplicação de flashcards para treino de entrevistas, com perguntas na frente e respostas no verso. Simples, personalizável e escalável, ideal para memorizar conteúdos e praticar respostas.
- Listagem de categorias de estudo (ex.: temas de entrevistas)
- Busca por categorias no frontend (campo de search filtrando em tempo real)
- Cards com Perguntas e Respostas esta com as respostas na ponta da lingua para entrevistas.
- Interface moderna e animada (Framer Motion, ícones Lucide, design responsivo)
O projeto tem como objetivo ser simples, direto e fácil de manter.
Para adicionar novas perguntas e respostas, basta editar o arquivo de texto localizado em:
backend/src/main/resources/perguntas.txt
A estrutura é:
- # -> Topico
- ? -> Pergunta
- > -> Resposta
Exemplo:
#Entrevista Rh
?Qual seu maior defeito?
>Perfeccionismo
-
Backend
- Springboot
- Spring Web
- Jackson
- DevTools
-
Frontend
- Vite
- React
- Tailwind, Animate e Merge
- Radix-ui
- Clsx
- Cmdk
- Framer-motion
- Lucide-react
- Axios
-
Docker Compose
- Serviço
backend:build: ./backendports: "8080:8080"
- Serviço
frontend:build: ./frontendports: "5173:5173"environment: VITE_API_URL=http://localhost:8080depends_on: backend
- Rede
app-networkdo tipobridge
- Serviço
Pré-requisitos:
- Docker e Docker Compose instalados.
Passos:
Na raiz do projeto (onde está o docker-compose.yml):
docker compose up --buildO backend ficará acessível em: http://localhost:8080
O frontend ficará acessível em: http://localhost:5173
Para parar:
docker compose downPré-requisitos:
- Java 21 (ou compatível)
- Maven 3.9+
Passos (na pasta backend):
# Instalar dependências e gerar jar
mvn clean package
# Rodar aplicação
java -jar target/*.jar
# Ou Rodar usando Maven
mvn spring-boot:runO backend ficará em http://localhost:8080.
Pré-requisitos:
- Node.js 20+
- pnpm instalado globalmente (
npm install -g pnpm)
Passos (na pasta frontend):
# Instalar dependências
pnpm install
# Rodar em modo desenvolvimento
pnpm devPor padrão, o Vite roda em http://localhost:5173.
Interview-Flashcards/
backend/
dockerfile
pom.xml
src/
...
frontend/
dockerfile
.env
.dockerignore
client/
src/
pages/
Home.tsx
services/
api.ts
components/
CategoryCard.tsx
...
docker-compose.yml
GET /api/qa
Retorna um objeto no formato:
{
"Categoria 1": [
{ "pergunta": "Pergunta A", "resposta": "Resposta A" },
{ "pergunta": "Pergunta B", "resposta": "Resposta B" }
],
"Categoria 2": [{ "pergunta": "Pergunta X", "resposta": "Resposta X" }]
}O frontend converte as chaves do objeto em categorias e exibe os flashcards correspondentes.
- Criação/edição de flashcards pelo usuário direto pelo frontend
- Marcador de acertos
- Ferramenta de memorização estilo Anki

