Releases: devsmish/Q-A-Form-with-API
Releases · devsmish/Q-A-Form-with-API
Release list
v0.3.0 — Architecture refactor and modern SQLAlchemy migration
Community Pulse v0.3.0
This release introduces a major backend architecture refactor focused on maintainability, scalability, and modern Flask/SQLAlchemy practices.
Architecture
- introduced dedicated Service Layer
- removed ORM/business logic from blueprints
- simplified route handlers
- centralized validation and serialization
SQLAlchemy
- migrated models to SQLAlchemy 2.0 typed declarative mapping
- replaced legacy backref relationships with explicit back_populates
- improved model import stability and circular dependency handling
Pydantic Integration
- centralized Pydantic validation handling
- added automatic serialization through custom PydanticJSONProvider
- removed repetitive jsonify and manual model_dump calls
Statistics
- removed redundant Statistic table
- implemented dynamic aggregation using SQLAlchemy func.count()
Internal Improvements
- stabilized Flask-Migrate discovery
- simplified application factory responsibilities
- improved DTO and response serialization flow
Result
The backend now follows a cleaner layered architecture and is prepared for:
- PostgreSQL migration
- frontend integration
- advanced analytics
- future scaling
Close #13
v0.2.0 — Categories support and CRUD API
Community Pulse v0.2.0
This release introduces full category support and extends the API with category-question relationships.
Added
- Category model integration
- Full CRUD API for categories
- Category validation with Pydantic
- Nested category serialization in question responses
Updated
- Question endpoints now support category assignment
- Question responses now include category information
- Refactored relationship naming from
categoriestocategory
API Endpoints
Categories
- POST /categories
- GET /categories
- GET /categories/
- PUT /categories/
- DELETE /categories/
Questions
- POST /questions with category_id support
- GET /questions with nested category data
Database
- Added database migrations for category support
- Updated SQLite schema relationships
Validation
- Added CategoryCreate schema
- Added minimum length validation for category names
- Updated QuestionCreate and QuestionResponse contracts
Notes
This release prepares the backend for:
- advanced filtering
- analytics
- frontend integration
- PostgreSQL migration
Closes #11
v0.1.0 — Initial API structure and Pydantic contracts
Community Pulse v0.1.0
Initial backend release of the Community Pulse project.
Added
- Flask application factory setup
- Flask-SQLAlchemy integration
- Flask-Migrate configuration
- Basic project architecture
- Question and Response models
- API blueprints and routing structure
- Pydantic request/response schemas
- API validation contracts
- ORM serialization support with Pydantic v2
Project Structure
- modular Flask architecture
- separated routes, models, schemas, and extensions
- environment-based configuration support
Notes
This release establishes the foundation for future development:
- categories support
- statistics aggregation
- PostgreSQL migration
- desktop client integration (Tkinter)