Skip to content

Latest commit

Β 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 DevCards

A flashcard-based learning platform for software engineers.

DevCards helps software engineers learn and review technical concepts through short, focused flashcards.

The goal is simple: learn one concept at a time, build strong fundamentals, and keep expanding your engineering knowledge.


✨ What is DevCards?

DevCards organizes software engineering knowledge into categories β†’ skills β†’ flashcards.

πŸ“š Categories

Group related areas of software engineering.

πŸ› οΈ Skills

Represent specific technologies, concepts, or topics.

πŸƒ Flashcards

Contain focused questions, concise answers, and detailed explanations.

πŸ€– AI-generated Content

Gemini is used to help generate new flashcard content while avoiding duplicate questions.


πŸ—‚οΈ Topics

DevCards aims to cover software engineering broadly, including:

πŸ’» Computer Science πŸ§‘β€πŸ’» Programming Languages βš™οΈ Backend 🎨 Frontend πŸ—„οΈ Database πŸ—οΈ System Design ☁️ Cloud πŸ–₯️ Infrastructure πŸ” Security πŸ“Š Data Engineering 🧠 AI & Machine Learning πŸ§ͺ Testing πŸ›οΈ Software Architecture πŸ› οΈ Developer Tools

πŸš€ Getting Started

πŸ“‹ Prerequisites

Make sure you have:

  • 🐍 Python 3.12+
  • 🟒 Node.js
  • 🐘 PostgreSQL

For AI content generation:

  • ✨ Gemini API key

βš™οΈ Backend Setup

Go to the backend directory:

cd service

Create the environment file:

πŸͺŸ Windows / PowerShell

cp .env.example .env

Then update .env with your local configuration and credentials.


πŸ“¦ Install Dependencies

Create a virtual environment:

python -m venv .venv

Activate it.

πŸͺŸ PowerShell

.venv\Scripts\Activate.ps1

Install dependencies:

pip install -r requirements.txt

πŸ—„οΈ Database Setup

Run Django migrations:

python manage.py migrate

Create a superuser if needed:

python manage.py createsuperuser

▢️ Run Backend

python manage.py runserver

The backend will run on:

http://localhost:8000

🎨 Frontend Setup

Go to the frontend directory:

cd web

Install dependencies:

npm install

Start the development server:

npm run dev

The frontend will run on:

http://localhost:3000

πŸ§‘β€πŸ’» VS Code

The project already includes VS Code configuration for development.

You can use the included:

  • πŸ“ Workspace configuration
  • πŸ› launch.json
  • ▢️ VS Code debugger

Open the workspace and use Run and Debug to start the configured development environment.


πŸ€– AI Content Generation

DevCards uses Gemini to generate flashcard content.

The generator is designed to:

  1. 🎯 Select a skill
  2. πŸ”Ž Retrieve existing questions
  3. πŸ€– Ask Gemini to generate new content
  4. 🚫 Avoid duplicate questions
  5. πŸ“ Generate concise answers
  6. πŸ“– Generate detailed explanations
  7. πŸ’Ύ Save the generated content to PostgreSQL

The AI model can be configured through the environment:

GEMINI_MODEL=gemini-2.5-flash

This allows the model to be changed without modifying application code.


πŸƒ Flashcard Content

Each flashcard is designed with two levels of explanation:

πŸ’¬ Answer

A short and concise explanation designed to fit inside the flashcard.

πŸ“– Learn More

A longer explanation that can cover:

  • πŸ” What it is
  • βš™οΈ How it works
  • πŸ’‘ Why it exists
  • πŸ“Œ When to use it
  • βš–οΈ Advantages and disadvantages
  • πŸ”„ Alternatives
  • πŸ—οΈ Practical considerations
  • πŸ’» Examples

Markdown can be used in the learn_more content.


🎯 Goal

DevCards is built around a simple idea:

Software engineering is too broad to learn all at once.

Instead of trying to consume large amounts of documentation or tutorials, DevCards focuses on small, repeatable learning sessions.

🧠 Learn a concept. πŸƒ Review it later. πŸ” Repeat. πŸ“ˆ Build deeper engineering knowledge over time.

About

🧠 AI-powered flashcards for learning software engineering concepts through active recall and spaced repetition.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages