
Create a Blog Platform with User Authentication
Inquiry Framework
Question Framework
Driving Question
The overarching question that guides the entire project.How can we design and develop a secure, user-friendly, and scalable blogging platform that effectively addresses the needs of both content creators and readers?Essential Questions
Supporting questions that break down major concepts.- How do you design the user interface (UI) and user experience (UX) of a blogging platform to ensure it is user-friendly and engaging?
- What are the key considerations for implementing user authentication and authorization in a blogging platform to ensure security and data privacy?
- How do you design a database schema to efficiently store and retrieve blog posts, user information, and other relevant data?
- What are the different approaches to implementing features such as creating, editing, and deleting blog posts, and how do you choose the most appropriate approach for your platform?
- How do you optimize the performance of a blogging platform to handle a large number of users and blog posts?
- What are the different options for deploying a blogging platform, and how do you choose the most appropriate option for your needs?
- How do you implement features such as search, tagging, and categorization to help users find relevant content on your blogging platform?
Standards & Learning Goals
Learning Goals
By the end of this project, students will be able to:- Develop a secure blogging platform with user authentication.
- Design a user-friendly interface for content creators and readers.
- Implement features for creating, editing, and deleting blog posts.
- Optimize platform performance for handling a large number of users and posts.
- Implement search, tagging, and categorization features.
Entry Events
Events that will be used to introduce the project to studentsThe Death of Blogging? A Data Dive and Debate
Present students with data on the decline of personal blogging and the rise of other social media. Students debate the reasons behind this shift and explore how a new blogging platform could recapture the essence of personal expression while leveraging modern technology.Portfolio Activities
Portfolio Activities
These activities progressively build towards your learning goals, with each submission contributing to the student's final portfolio.Database Design Architect
Students will design the database schema for storing user credentials, blog posts, and comments. This activity focuses on understanding data relationships and security considerations.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA detailed database schema diagram and a rationale for the chosen design, including security measures.Alignment
How this activity aligns with the learning objectives & standardsLearning Goal: Develop a secure blogging platform with user authentication.UI/UX Designer
Students will create wireframes and mockups of the blogging platform's user interface, focusing on usability and aesthetics. This activity emphasizes UX design principles and user-centered design.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityInteractive wireframes and UI mockups for key pages (e.g., homepage, post creation, user profile).Alignment
How this activity aligns with the learning objectives & standardsLearning Goal: Design a user-friendly interface for content creators and readers.Backend Logic Developer
Students will develop the backend logic for handling blog post creation, editing, and deletion. This activity focuses on server-side programming and database interaction.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityFunctional code for creating, editing, and deleting blog posts with appropriate validation and error handling.Alignment
How this activity aligns with the learning objectives & standardsLearning Goal: Implement features for creating, editing, and deleting blog posts.Performance Engineer
Students will analyze and optimize the performance of the blogging platform, focusing on database queries, caching, and code efficiency. This activity emphasizes performance engineering and scalability.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA performance report with identified bottlenecks and implemented optimizations, including database indexing and caching strategies.Alignment
How this activity aligns with the learning objectives & standardsLearning Goal: Optimize platform performance for handling a large number of users and posts.Search & Discovery Specialist
Students will implement search functionality and tagging/categorization systems to improve content discoverability. This activity focuses on information retrieval and data organization.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityFunctional search, tagging, and categorization features with a user-friendly interface and efficient search algorithms.Alignment
How this activity aligns with the learning objectives & standardsLearning Goal: Implement search, tagging, and categorization features.Rubric & Reflection
Portfolio Rubric
Grading criteria for assessing the overall project portfolioBlogging Platform Rubric
Database Architecture
This category assesses the design and implementation of the database schema, security measures, and data retrieval methods.Database Schema Design
Correctness of database schema diagram and justification of design choices.
Beginning
1 PointsDatabase schema is incomplete, contains errors, and lacks a clear justification. Security measures are not addressed.
Developing
2 PointsDatabase schema has some omissions or errors, and the justification is weak. Security measures are superficially addressed.
Proficient
3 PointsDatabase schema is mostly correct and well-justified, with adequate security measures in place.
Exemplary
4 PointsDatabase schema is complete, correct, and thoroughly justified, with robust security measures implemented effectively.
Password Security
Quality and security of password encryption and hashing techniques implemented.
Beginning
1 PointsPassword encryption and hashing are not implemented or are implemented incorrectly, posing significant security risks.
Developing
2 PointsPassword encryption and hashing are implemented with weak or outdated techniques, providing minimal security.
Proficient
3 PointsPassword encryption and hashing are implemented using standard techniques, providing reasonable security.
Exemplary
4 PointsPassword encryption and hashing are implemented using advanced and secure techniques, ensuring high levels of data protection.
SQL Query Optimization
Efficiency and correctness of SQL queries for user authentication and data retrieval.
Beginning
1 PointsSQL queries are inefficient, incorrect, or missing, resulting in authentication failures and data retrieval issues.
Developing
2 PointsSQL queries are somewhat inefficient and may contain errors, leading to occasional authentication or data retrieval problems.
Proficient
3 PointsSQL queries are mostly efficient and correct, with minor issues in performance or accuracy.
Exemplary
4 PointsSQL queries are highly efficient, correct, and optimized for performance, ensuring seamless authentication and data retrieval.
User Interface (UI/UX)
This category evaluates the design and user experience of the blogging platform's interface, focusing on usability and aesthetics.UI/UX Design
Clarity, usability, and aesthetics of the wireframes and UI mockups.
Beginning
1 PointsWireframes and UI mockups are unclear, lack usability, and are poorly designed aesthetically.
Developing
2 PointsWireframes and UI mockups have some clarity and usability issues, with limited aesthetic appeal.
Proficient
3 PointsWireframes and UI mockups are generally clear, usable, and aesthetically pleasing.
Exemplary
4 PointsWireframes and UI mockups are exceptionally clear, highly usable, and visually appealing, demonstrating excellent design principles.
UX Principles
Adherence to UX design principles and user-centered design approach.
Beginning
1 PointsUX design principles are not followed, and the design is not user-centered.
Developing
2 PointsUX design principles are superficially addressed, with limited focus on user needs.
Proficient
3 PointsUX design principles are adequately followed, with a reasonable focus on user needs.
Exemplary
4 PointsUX design principles are expertly applied, resulting in a highly user-centered and intuitive design.
User Feedback Integration
Effectiveness of user testing and incorporation of feedback into the designs.
Beginning
1 PointsUser testing is not conducted, and feedback is not incorporated into the designs.
Developing
2 PointsUser testing is conducted minimally, and feedback is superficially incorporated.
Proficient
3 PointsUser testing is conducted and feedback is reasonably incorporated to improve the designs.
Exemplary
4 PointsUser testing is conducted thoroughly, and feedback is expertly incorporated to create highly effective and user-friendly designs.
Backend Logic
This category assesses the server-side programming and database interaction, focusing on creating, editing, and deleting blog posts.API Functionality
Functionality and correctness of API endpoints for creating, editing, and deleting blog posts.
Beginning
1 PointsAPI endpoints are non-functional, incomplete, or contain significant errors.
Developing
2 PointsAPI endpoints are partially functional with some errors or limitations.
Proficient
3 PointsAPI endpoints are mostly functional and correct with minor issues.
Exemplary
4 PointsAPI endpoints are fully functional, correct, and well-implemented.
Database Integration
Integration of API with the database for storing and retrieving blog post data.
Beginning
1 PointsAPI is not integrated with the database, or the integration is flawed.
Developing
2 PointsAPI is integrated with the database but has issues with data storage or retrieval.
Proficient
3 PointsAPI is properly integrated with the database for basic data storage and retrieval.
Exemplary
4 PointsAPI is seamlessly integrated with the database, ensuring efficient and reliable data management.
Data Integrity
Implementation of validation and error handling to ensure data integrity.
Beginning
1 PointsValidation and error handling are not implemented, leading to data integrity issues.
Developing
2 PointsValidation and error handling are minimally implemented, with limited coverage.
Proficient
3 PointsValidation and error handling are implemented adequately to ensure reasonable data integrity.
Exemplary
4 PointsComprehensive validation and error handling are implemented, ensuring high levels of data integrity and reliability.
Performance Optimization
This category evaluates the analysis and optimization of the blogging platform's performance, focusing on database queries, caching, and code efficiency.Performance Bottleneck Analysis
Identification of performance bottlenecks using profiling tools.
Beginning
1 PointsProfiling tools are not used, and performance bottlenecks are not identified.
Developing
2 PointsProfiling tools are used superficially, and performance bottlenecks are not clearly identified.
Proficient
3 PointsProfiling tools are used to identify some performance bottlenecks.
Exemplary
4 PointsProfiling tools are used effectively to comprehensively identify and analyze performance bottlenecks.
Database Indexing
Implementation of database indexing to improve query performance.
Beginning
1 PointsDatabase indexing is not implemented, resulting in poor query performance.
Developing
2 PointsDatabase indexing is implemented poorly or incorrectly, providing minimal performance improvement.
Proficient
3 PointsDatabase indexing is implemented effectively to improve query performance.
Exemplary
4 PointsDatabase indexing is implemented expertly, significantly improving query performance and scalability.
Caching Strategies
Implementation of caching mechanisms to reduce database load.
Beginning
1 PointsCaching mechanisms are not implemented, resulting in high database load.
Developing
2 PointsCaching mechanisms are implemented ineffectively, providing minimal reduction in database load.
Proficient
3 PointsCaching mechanisms are implemented adequately to reduce database load.
Exemplary
4 PointsCaching mechanisms are implemented optimally, significantly reducing database load and improving overall performance.
Code Optimization
Optimization of code for efficiency and scalability.
Beginning
1 PointsCode is not optimized for efficiency or scalability.
Developing
2 PointsCode is minimally optimized, with limited impact on performance or scalability.
Proficient
3 PointsCode is optimized adequately for reasonable efficiency and scalability.
Exemplary
4 PointsCode is expertly optimized for maximum efficiency and scalability, ensuring optimal performance under heavy load.
Search & Discovery
This category focuses on improving content discoverability through search functionality and data organization using tagging/categorization systems.Search Functionality
Functionality and effectiveness of the search API endpoint.
Beginning
1 PointsSearch API endpoint is non-functional or highly ineffective.
Developing
2 PointsSearch API endpoint is partially functional with significant limitations.
Proficient
3 PointsSearch API endpoint is mostly functional and reasonably effective.
Exemplary
4 PointsSearch API endpoint is fully functional and highly effective, providing accurate and relevant search results.
Tagging and Categorization
Design and implementation of a tagging/categorization system.
Beginning
1 PointsTagging/categorization system is poorly designed or not implemented.
Developing
2 PointsTagging/categorization system is implemented with significant design flaws.
Proficient
3 PointsTagging/categorization system is reasonably well-designed and implemented.
Exemplary
4 PointsTagging/categorization system is expertly designed and implemented, providing an intuitive and efficient content organization.
UI Integration
Integration of search and tagging features into the user interface.
Beginning
1 PointsSearch and tagging features are not integrated into the user interface.
Developing
2 PointsSearch and tagging features are poorly integrated into the user interface, with usability issues.
Proficient
3 PointsSearch and tagging features are adequately integrated into the user interface.
Exemplary
4 PointsSearch and tagging features are seamlessly integrated into the user interface, providing a user-friendly and efficient experience.