A glossary of all technical terms used in this project, organized by topic.
Definition: The visual layout of an application that a user interacts with, composed of elements like buttons, forms, and text.
In Help2Study: React components in frontend/src/components/ and frontend/src/pages/
Learn more: MDN - User Interface
Definition: A tree-like representation of the HTML document created by the browser. JavaScript can interact with the DOM to change the page's structure, style, and content dynamically.
In Help2Study: React manages DOM updates automatically when state changes
Learn more: MDN - DOM Introduction
Definition: The process of listening for and reacting to user actions (events) like clicks, key presses, or mouse movements. In React, this is often done with attributes like onClick.
In Help2Study: See onClick handlers in components like FileUploadForm.jsx
Learn more: React - Responding to Events
Definition: The practice of managing the data that an application's UI depends on. In React, when a component's state changes, React automatically re-renders the component to reflect the new data.
In Help2Study: useState hooks throughout React components
Learn more: React - State: A Component's Memory
Definition: Code that allows the browser to perform long-running tasks (like waiting for an API response) in the background without freezing the user interface. This is managed using async/await or .then().
In Help2Study: All API calls use async/await pattern
Learn more: MDN - Async JavaScript
Definition: A set of rules and definitions that allows two separate software systems (like a React frontend and a Django backend) to communicate with each other. It's the "menu" the frontend orders from.
In Help2Study: REST API endpoints in backend/api/urls.py
Learn more: MDN - Web APIs
Definition: A formal message sent from the client to the server to request an action or resource.
In Help2Study: Axios sends requests from frontend/src/api.js
Learn more: MDN - HTTP Messages
Definition: The specific address on the server where the request is sent (e.g., /api/tasks). It identifies the resource you want to interact with.
In Help2Study: Defined in backend/api/urls.py (e.g., /api/flashcards/)
Learn more: REST API - Endpoints
Definition: A verb that specifies the intended action of the request. The most common are:
- GET - Read data
- POST - Create data
- PUT/PATCH - Update data
- DELETE - Remove data
In Help2Study: Views in views.py handle different HTTP methods
Learn more: MDN - HTTP Methods
Definition: The data sent to the server with the request, typically used with POST or PUT methods.
In Help2Study: File and topic data sent in POST requests
Learn more: MDN - HTTP Request Body
Definition: A lightweight, text-based format for structuring and transmitting data. It's the standard language for APIs on the web.
In Help2Study: All API responses are in JSON format
Learn more: MDN - Working with JSON
Definition: A program that runs on a computer, continuously listening for incoming network requests on a specific port.
In Help2Study: Django server runs on port 8000
Learn more: MDN - What is a Web Server?
Definition: The mechanism that directs an incoming request to the correct piece of code that should handle it, based on the request's URL and HTTP method. In Django, this is managed in urls.py.
In Help2Study: backend/backend/urls.py → backend/api/urls.py
Learn more: Django - URL Dispatcher
Definition: A function or class in views.py that processes a web request and returns a web response. It contains the core logic for what to do when a specific endpoint is hit.
In Help2Study: Class-based views in backend/api/views.py
Learn more: Django - Views
Definition: The message a server sends back to the client after receiving and processing its request.
In Help2Study: Django views return Response objects
Learn more: MDN - HTTP Responses
Definition: Three-digit codes that indicate the outcome of a request. Key examples:
- 200 OK - Success
- 201 Created - Success, new resource made
- 404 Not Found - Resource doesn't exist
- 500 Internal Server Error - Server crash
In Help2Study: Views return appropriate status codes
Learn more: MDN - HTTP Status Codes
Definition: A tool that converts complex data types, like Django model instances (QuerySets), into native Python datatypes that can then be easily rendered into JSON for the API response. It also handles data validation.
In Help2Study: backend/api/serializers.py
Learn more: DRF - Serializers
Definition: The four fundamental operations of persistent storage.
In Help2Study:
- Create:
POST /api/flashcards/ - Read:
GET /api/topics/ - Update: Not implemented yet
- Delete:
DELETE /api/topics/<id>/
Learn more: Wikipedia - CRUD
Definition: A Python class in models.py that defines the structure and behavior of your application's data. Each model maps to a single database table.
In Help2Study: Topic and Flashcard models in backend/api/models.py
Learn more: Django - Models
Definition: A programming technique that allows you to interact with your database (like writing queries and creating records) using an object-oriented programming language (like Python) instead of raw SQL. Django's built-in ORM is one of its most powerful features.
In Help2Study: Topic.objects.filter(user=user) instead of SELECT * FROM topics WHERE user_id = ?
Learn more: Django - Making Queries
Definition: The practice of building and maintaining all three parts of a web application: the frontend (client-side), the backend (server-side), and the database.
In Help2Study: React frontend + Django backend + SQLite database
Learn more: freeCodeCamp - What is Full Stack?
Definition: The fundamental architecture of the web where a Client (like your browser) requests information from a central Server, which processes the request and returns a response.
In Help2Study: React app (client) requests data from Django API (server)
Learn more: MDN - Client-Server Overview
Definition: The complete, two-way communication process where a client sends a Request for data, and the server sends back a Response. This cycle is the foundation of all web interactions.
In Help2Study: See detailed breakdown in ARCHITECTURE.md
Learn more: MDN - HTTP Overview
Definition: A system that tracks changes to files over time, allowing you to recall specific versions later. It's essential for collaboration and managing code history. clone copies a repository locally, while fork creates a personal copy on your GitHub account.
In Help2Study: Project uses Git for version control
Learn more: Git Handbook
Definition: Tools that automate the process of installing, updating, and managing the external libraries (dependencies) a project uses. npm is used for the React frontend, and pip is used for the Django backend.
In Help2Study:
- Frontend:
npm installreadspackage.json - Backend:
pip install -r requirements.txt
Learn more:
Definition: A system for storing configuration values and secrets (like API keys or database passwords) outside of your source code for better security and portability.
In Help2Study: .env file stores API_KEY and VITE_API_URL
Learn more: The Twelve-Factor App - Config
- React Documentation - Complete React guide
- Django Documentation - Django framework
- Django REST Framework - API building
- Vite Documentation - Build tool
- Tailwind CSS - Utility-first CSS
- Axios Documentation - HTTP client
- MDN Web Docs - Web technologies reference
- freeCodeCamp - Free coding courses
- Real Python - Python tutorials
- JavaScript.info - Modern JavaScript tutorial
- REST API Tutorial - RESTful design principles
- JWT.io - JSON Web Token guide
- SQL vs ORM - Why use an ORM
| Concept | What It Does | Where to Find It |
|---|---|---|
| React Component | Reusable UI piece | frontend/src/components/ |
| API Endpoint | URL that handles requests | backend/api/urls.py |
| View | Request handler | backend/api/views.py |
| Model | Database table | backend/api/models.py |
| Serializer | Data converter | backend/api/serializers.py |
| State | Component data | useState in components |
| HTTP Request | Client → Server | Axios in api.js |
| HTTP Response | Server → Client | Django Response object |
| JWT Token | Authentication | localStorage + headers |
| ORM Query | Database operation | .objects.filter() etc. |
For system architecture and request flow diagrams, see ARCHITECTURE.md
For setup instructions, see README.md and INSTALLATION.md