diff --git a/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/data_level0.bin b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/data_level0.bin new file mode 100644 index 0000000..ae2f009 Binary files /dev/null and b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/data_level0.bin differ diff --git a/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/header.bin b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/header.bin new file mode 100644 index 0000000..d2383e3 Binary files /dev/null and b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/header.bin differ diff --git a/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/length.bin b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/length.bin new file mode 100644 index 0000000..8b8fae5 Binary files /dev/null and b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/length.bin differ diff --git a/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/link_lists.bin b/.chroma_db/7f660f0d-7619-4692-937b-091e9b280d96/link_lists.bin new file mode 100644 index 0000000..e69de29 diff --git a/.chroma_db/chroma.sqlite3 b/.chroma_db/chroma.sqlite3 new file mode 100644 index 0000000..82ca669 Binary files /dev/null and b/.chroma_db/chroma.sqlite3 differ diff --git a/app.db b/app.db new file mode 100644 index 0000000..ac168c1 Binary files /dev/null and b/app.db differ diff --git a/app/database.py b/app/database.py new file mode 100644 index 0000000..55373b0 --- /dev/null +++ b/app/database.py @@ -0,0 +1,446 @@ +from app import create_app, db +from app.models.user import User +from app.models.assessment import Assessment +from werkzeug.security import generate_password_hash +from datetime import datetime + +def init_db(): + app = create_app() + with app.app_context(): + print("Dropping existing tables...") + db.drop_all() + print("Creating new tables...") + db.create_all() + + print("Creating test user...") + test_user = User( + username='testuser', + email='test@example.com', + password_hash=generate_password_hash('password123', method='pbkdf2:sha256'), + is_active=True, + is_admin=True + ) + db.session.add(test_user) + + print("Creating test assessments...") + # Start of generated assessment data + assessments = [ + Assessment( + employee_name='John Doe', + position='Senior Software Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.5, + strengths='Strong technical skills, excellent problem-solving abilities, great team player', + areas_for_improvement='Could improve documentation practices', + goals='Lead a major project in Q2, mentor junior developers', + comments='John has consistently delivered high-quality work and shown great leadership potential', + author=test_user + ), + Assessment( + employee_name='Jane Smith', + position='Product Manager', + department='Product', + review_period='Q1 2024', + performance_rating=4.8, + strengths='Exceptional stakeholder management, strong product vision, excellent communication', + areas_for_improvement='Could focus more on technical details', + goals='Launch new product feature in Q2, improve cross-team collaboration', + comments='Jane has been instrumental in driving product success and building strong relationships with stakeholders', + author=test_user + ), + Assessment( + employee_name='Mike Johnson', + position='UI/UX Designer', + department='Design', + review_period='Q1 2024', + performance_rating=4.2, + strengths='Creative design solutions, attention to detail, user-centered approach', + areas_for_improvement='Could improve time management', + goals='Lead design system improvements, mentor junior designers', + comments='Mike consistently delivers visually stunning and user-friendly designs that exceed expectations', + author=test_user + ), + Assessment( + employee_name='Sarah Williams', + position='Data Scientist', + department='Analytics', + review_period='Q1 2024', + performance_rating=4.9, + strengths='Advanced analytical skills, innovative problem-solving, excellent research capabilities', + areas_for_improvement='Could improve presentation skills', + goals='Publish research paper, optimize data processing pipeline', + comments='Sarah\'s work has significantly improved our data-driven decision-making processes', + author=test_user + ), + Assessment( + employee_name='Robert Brown', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.7, + strengths='Infrastructure automation expertise, strong security knowledge, excellent troubleshooting', + areas_for_improvement='Could improve documentation', + goals='Implement CI/CD improvements, enhance security protocols', + comments='Robert has been crucial in maintaining our infrastructure reliability and security', + author=test_user + ), + Assessment( + employee_name='Dakota Smith', + position='UI/UX Designer', + department='Design', + review_period='Q2 2024', + performance_rating=4.3, + strengths='Creative thinking, excellent presentation skills, campaign management', + areas_for_improvement='Needs to increase speed of delivery', + goals='Master financial forecasting model', + comments='Highly effective performer. Dakota\'s work on master financial forecasting model has been impactful. Continue fostering campaign management.', + author=test_user + ), + Assessment( + employee_name='Micah Clark', + position='Sales Operations Analyst', + department='Sales', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Detail-oriented, infrastructure automation, campaign management', + areas_for_improvement='Needs more experience with tool y', + goals='Master financial forecasting model, increase lead generation by w%', + comments='Performance meets expectations. Micah should focus on needs more experience with tool y while continuing to leverage detail-oriented.', + author=test_user + ), + Assessment( + employee_name='Finley Moore', + position='Senior Software Engineer', + department='Engineering', + review_period='Q2 2024', + performance_rating=4.0, + strengths='Talent sourcing', + areas_for_improvement='Needs to build confidence in area z, could engage more in team discussions', + goals='Master financial forecasting model', + comments='Finley is a valuable member of the team, demonstrating strong talent sourcing.', + author=test_user + ), + Assessment( + employee_name='Sophia Johnson', + position='Supply Chain Analyst', + department='Operations', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Collaborates effectively across teams, great team player', + areas_for_improvement='Needs deeper technical understanding in x area, needs to develop cross-functional collaboration', + goals='Lead a major project', + comments='Sophia has shown significant growth. Areas like great team player are strong, while needs to develop cross-functional collaboration is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emerson Baker', + position='Associate Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.9, + strengths='Strong analytical abilities', + areas_for_improvement='None noted this period.', + goals='Achieve x% sales target, lead a major project', + comments='Reliable and consistent performer. Emerson\'s strong analytical abilities makes them a dependable team member. Agreed focus on lead a major project for next period.', + author=test_user + ), + Assessment( + employee_name='Remi Perez', + position='Sales Development Representative', + department='Sales', + review_period='Q3 2023', + performance_rating=3.9, + strengths='Excellent presentation skills, financial modeling', + areas_for_improvement='Needs to build confidence in area z', + goals='Improve team velocity', + comments='Remi has shown significant growth. Areas like excellent presentation skills are strong, while needs to build confidence in area z is an area for development.', + author=test_user + ), + Assessment( + employee_name='Amelia Walker', + position='Operations Manager', + department='Operations', + review_period='Q4 2023', + performance_rating=4.4, + strengths='Proactive problem-solver, deep domain knowledge', + areas_for_improvement='Could enhance reporting clarity', + goals='Improve customer satisfaction scores', + comments='Amelia is a valuable member of the team, demonstrating strong deep domain knowledge.', + author=test_user + ), + Assessment( + employee_name='Lucas Evans', + position='Talent Acquisition Specialist', + department='HR', + review_period='Q1 2024', + performance_rating=3.1, + strengths='Collaborates effectively across teams, strong leadership potential, strong analytical abilities', + areas_for_improvement='Needs more experience with tool y', + goals='Improve design system adoption', + comments='Excellent progress shown by Lucas, particularly in achieving improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Noah Williams', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Code quality focus, proactive problem-solver', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, develop new marketing campaign strategy', + comments='Noah is a valuable member of the team, demonstrating strong proactive problem-solver.', + author=test_user + ), + Assessment( + employee_name='Peyton Taylor', + position='SEO Manager', + department='Marketing', + review_period='Q3 2024', + performance_rating=3.8, + strengths='Efficient time management', + areas_for_improvement='Needs to refine requirements gathering, needs more experience with tool y', + goals='Lead a major project', + comments='A solid performance from Peyton this period. Key contributions include lead a major project.', + author=test_user + ), + Assessment( + employee_name='Benjamin Clark', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2023', + performance_rating=4.2, + strengths='Collaborates effectively across teams, efficient time management', + areas_for_improvement='Needs to improve prioritization skills, needs to delegate more effectively', + goals='Lead a major project, mentor junior developers/colleagues', + comments='Benjamin demonstrates potential. Key strengths include collaborates effectively across teams. Next steps involve focusing on lead a major project and addressing needs to improve prioritization skills.', + author=test_user + ), + Assessment( + employee_name='Isabella King', + position='Product Manager', + department='Product', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Strong analytical abilities', + areas_for_improvement='Needs to improve prioritization skills, could enhance reporting clarity', + goals='Mentor junior developers/colleagues', + comments='A solid performance from Isabella this period. Key contributions include mentor junior developers/colleagues.', + author=test_user + ), + Assessment( + employee_name='Micah Brown', + position='Business Intelligence Analyst', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.8, + strengths='Code quality focus, detail-oriented', + areas_for_improvement='Needs to manage stakeholder expectations better, needs to enhance presentation skills', + goals='Lead a major project', + comments='Micah has shown significant growth. Areas like code quality focus are strong, while needs to manage stakeholder expectations better is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sawyer Turner', + position='Systems Architect', + department='Engineering', + review_period='Q3 2023', + performance_rating=4.5, + strengths='Excellent presentation skills', + areas_for_improvement='Could improve documentation practices', + goals='Refine onboarding process', + comments='Sawyer has shown significant growth. Areas like excellent presentation skills are strong, while could improve documentation practices is an area for development.', + author=test_user + ), + Assessment( + employee_name='Jordan King', + position='Sales Development Representative', + department='Sales', + review_period='Q2 2023', + performance_rating=3.9, + strengths='Stakeholder management', + areas_for_improvement='Could engage more in team discussions, could be more proactive in communication', + goals='Complete certification z', + comments='Reliable and consistent performer. Jordan\'s stakeholder management makes them a dependable team member. Agreed focus on complete certification z for next period.', + author=test_user + ), + Assessment( + employee_name='Dakota Turner', + position='HR Generalist', + department='HR', + review_period='Q2 2024', + performance_rating=4.1, + strengths='Excellent presentation skills', + areas_for_improvement='Needs to develop cross-functional collaboration, needs to delegate more effectively', + goals='Improve design system adoption, streamline reporting process', + comments='A solid performance from Dakota this period. Key contributions include improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Chris White', + position='Account Executive', + department='Sales', + review_period='Q3 2024', + performance_rating=4.0, + strengths='Manages complexity well, delivers high-quality results consistently', + areas_for_improvement='Needs to delegate more effectively, needs to build confidence in area z', + goals='Master financial forecasting model', + comments='Highly effective performer. Chris\'s work on master financial forecasting model has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Isabella Robinson', + position='Content Strategist', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Mentors junior team members, proactive problem-solver', + areas_for_improvement='Could improve attention to detail on routine tasks, could work on meeting deadlines more consistently', + goals='Achieve x% sales target', + comments='Isabella has shown significant growth. Areas like proactive problem-solver are strong, while could improve attention to detail on routine tasks is an area for development.', + author=test_user + ), + Assessment( + employee_name='Cameron Phillips', + position='Operations Manager', + department='Operations', + review_period='Q2 2024', + performance_rating=4.6, + strengths='Strategic thinking, infrastructure automation', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Lead a major project', + comments='Highly effective performer. Cameron\'s work on lead a major project has been impactful. Continue fostering infrastructure automation.', + author=test_user + ), + Assessment( + employee_name='Chris Young', + position='Design Lead', + department='Design', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Positive attitude, excellent communication skills', + areas_for_improvement='None noted this period.', + goals='Refine onboarding process', + comments='Chris is a valuable member of the team, demonstrating strong positive attitude.', + author=test_user + ), + Assessment( + employee_name='Sam Roberts', + position='Sales Operations Analyst', + department='Sales', + review_period='Q1 2024', + performance_rating=3.9, + strengths='Code quality focus, excellent presentation skills, quick learner', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, master financial forecasting model', + comments='Excellent progress shown by Sam, particularly in achieving increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Alexander Thomas', + position='Compensation Analyst', + department='HR', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Customer-focused', + areas_for_improvement='Needs deeper technical understanding in x area, could improve time management', + goals='Lead a major project, take on more leadership responsibilities', + comments='Highly effective performer. Alexander\'s work on take on more leadership responsibilities has been impactful. Continue fostering customer-focused.', + author=test_user + ), + Assessment( + employee_name='Harper Johnson', + position='QA Engineer', + department='Engineering', + review_period='Q2 2023', + performance_rating=4.0, + strengths='Manages complexity well', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Gain expertise in technology x', + comments='Highly effective performer. Harper\'s work on gain expertise in technology x has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Avery Rodriguez', + position='Accountant', + department='Finance', + review_period='Q1 2023', + performance_rating=3.4, + strengths='Code quality focus', + areas_for_improvement='Needs to build confidence in area z', + goals='Enhance security protocols, implement ci/cd improvements', + comments='Highly effective performer. Avery\'s work on enhance security protocols has been impactful. Continue fostering code quality focus.', + author=test_user + ), + Assessment( + employee_name='Lucas Scott', + position='Social Media Coordinator', + department='Marketing', + review_period='Q3 2023', + performance_rating=5.0, + strengths='Creative thinking', + areas_for_improvement='Could be more proactive in communication', + goals='Improve team velocity', + comments='Highly effective performer. Lucas\'s work on improve team velocity has been impactful. Continue fostering creative thinking.', + author=test_user + ), + Assessment( + employee_name='Dakota Lee', + position='Finance Manager', + department='Finance', + review_period='Q4 2023', + performance_rating=3.3, + strengths='Talent sourcing', + areas_for_improvement='Could enhance reporting clarity', + goals='Launch new product feature', + comments='A solid performance from Dakota this period. Key contributions include launch new product feature.', + author=test_user + ), + Assessment( + employee_name='Chris Campbell', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q3 2024', + performance_rating=4.2, + strengths='Strong leadership potential', + areas_for_improvement='Needs to enhance presentation skills, could be more proactive in communication', + goals='Master financial forecasting model', + comments='Performance meets expectations. Chris should focus on needs to enhance presentation skills while continuing to leverage strong leadership potential.', + author=test_user + ), + Assessment( + employee_name='Henry Smith', + position='Customer Success Manager', + department='Sales', + review_period='Q2 2024', + performance_rating=4.4, + strengths='Positive attitude, takes initiative, talent sourcing', + areas_for_improvement='Needs to delegate more effectively', + goals='Increase lead generation by w%, launch new product feature', + comments='Henry consistently exceeds expectations. Strengths in takes initiative and talent sourcing are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Taylor Adams', + position='UI/UX Designer', + department='Design', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Positive attitude, deep domain knowledge', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Take on more leadership responsibilities', + comments='Reliable and consistent performer. Taylor\'s deep domain knowledge makes them a dependable team member. Agreed focus on take on more leadership responsibilities for next period.', + author=test_user + ), + ] + + for assessment in assessments: + db.session.add(assessment) + + print("Committing changes...") + db.session.commit() + print("Database initialization completed successfully!") + +if __name__ == '__main__': + init_db() \ No newline at end of file diff --git a/app/generate_data.py b/app/generate_data.py new file mode 100644 index 0000000..a7567d9 --- /dev/null +++ b/app/generate_data.py @@ -0,0 +1,1436 @@ +import sys +import os +import random +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from app.models.assessment import Assessment +from app.models.user import User +from datetime import datetime + +# Create a test user instance +test_user = User( + username='testuser', + email='test@example.com', + password_hash='test_hash', # This would normally be hashed + is_active=True, + is_admin=True +) +# --- Data Pools for Generation --- + +first_names = [ + "Alex", "Morgan", "Jordan", "Taylor", "Casey", "Riley", "Jamie", "Skyler", + "Dakota", "Remi", "Rowan", "Charlie", "Finley", "Emerson", "Avery", "Kai", + "Blake", "Drew", "Cameron", "Sage", "Quinn", "Reese", "Peyton", "Sawyer", + "Devin", "Micah", "Logan", "Chris", "Sam", "Liam", "Olivia", "Noah", "Emma", + "Oliver", "Ava", "Elijah", "Charlotte", "William", "Sophia", "James", "Amelia", + "Benjamin", "Isabella", "Lucas", "Mia", "Henry", "Evelyn", "Alexander", "Harper" +] + +last_names = [ + "Smith", "Johnson", "Williams", "Brown", "Jones", "Garcia", "Miller", "Davis", + "Rodriguez", "Martinez", "Hernandez", "Lopez", "Gonzalez", "Wilson", "Anderson", + "Thomas", "Taylor", "Moore", "Martin", "Jackson", "Lee", "Perez", "Thompson", + "White", "Harris", "Sanchez", "Clark", "Ramirez", "Lewis", "Robinson", "Walker", + "Young", "Allen", "King", "Wright", "Scott", "Green", "Baker", "Adams", "Nelson", + "Carter", "Mitchell", "Roberts", "Turner", "Phillips", "Campbell", "Parker", "Evans" +] + +departments_positions = { + "Engineering": ["Software Engineer", "Senior Software Engineer", "Tech Lead", "Engineering Manager", "DevOps Engineer", "QA Engineer", "Systems Architect"], + "Product": ["Product Manager", "Associate Product Manager", "Senior Product Manager", "Product Owner", "UX Researcher"], + "Design": ["UI/UX Designer", "Graphic Designer", "Senior Designer", "Design Lead", "Interaction Designer"], + "Analytics": ["Data Scientist", "Data Analyst", "Business Intelligence Analyst", "Machine Learning Engineer", "Data Engineer"], + "Marketing": ["Marketing Specialist", "Content Strategist", "SEO Manager", "Digital Marketing Manager", "Social Media Coordinator"], + "Sales": ["Sales Development Representative", "Account Executive", "Sales Manager", "Customer Success Manager", "Sales Operations Analyst"], + "HR": ["HR Generalist", "Recruiter", "Talent Acquisition Specialist", "HR Manager", "Compensation Analyst"], + "Finance": ["Accountant", "Financial Analyst", "Senior Financial Analyst", "Controller", "Finance Manager"], + "Operations": ["Operations Coordinator", "Operations Manager", "Supply Chain Analyst", "Logistics Manager"] +} + +review_periods = [f"Q{q} {y}" for y in [2023, 2024] for q in [1, 2, 3, 4]] + +strength_phrases = [ + "Excellent communication skills", "Strong technical aptitude", "Great team player", + "Proactive problem-solver", "Highly adaptable", "Detail-oriented", + "Strong leadership potential", "Creative thinking", "Customer-focused", + "Efficient time management", "Mentors junior team members", "Data-driven decision maker", + "Excellent presentation skills", "Strong analytical abilities", "Takes initiative", + "Collaborates effectively across teams", "Deep domain knowledge", "Manages complexity well", + "Delivers high-quality results consistently", "Positive attitude", "Quick learner", + "Strategic thinking", "Stakeholder management", "User empathy", "Code quality focus", + "Infrastructure automation", "Security best practices", "Financial modeling", "Talent sourcing", + "Process optimization", "Campaign management", "Negotiation skills" +] + +improvement_phrases = [ + "Could improve time management", "Needs to enhance presentation skills", + "Could be more proactive in communication", "Needs deeper technical understanding in X area", + "Could improve documentation practices", "Needs to delegate more effectively", + "Could focus more on strategic goals", "Needs to manage stakeholder expectations better", + "Could improve handling of constructive feedback", "Needs to develop cross-functional collaboration", + "Could enhance reporting clarity", "Needs to improve prioritization skills", + "Could benefit from assertiveness training", "Needs to increase speed of delivery", + "Could improve attention to detail on routine tasks", "Needs more experience with tool Y", + "Could engage more in team discussions", "Needs to build confidence in area Z", + "Could work on meeting deadlines more consistently", "Needs to refine requirements gathering" +] + +goal_phrases = [ + "Lead a major project", "Mentor junior developers/colleagues", "Improve cross-team collaboration", + "Launch new product feature", "Optimize data processing pipeline", "Publish research/blog post", + "Implement CI/CD improvements", "Enhance security protocols", "Achieve X% sales target", + "Improve customer satisfaction scores", "Develop a new training module", "Complete certification Z", + "Streamline reporting process", "Reduce operational costs by Y%", "Improve team velocity", + "Gain expertise in technology X", "Take on more leadership responsibilities", "Present at a conference", + "Improve design system adoption", "Develop new marketing campaign strategy", "Refine onboarding process", + "Master financial forecasting model", "Increase lead generation by W%" +] + +comment_templates = [ + "{name} consistently exceeds expectations. Strengths in {strength1} and {strength2} are particularly notable.", + "A solid performance from {name} this period. Key contributions include {goal1}.", + "{name} is a valuable member of the team, demonstrating strong {strength1}.", + "Performance meets expectations. {name} should focus on {improvement1} while continuing to leverage {strength1}.", + "Excellent progress shown by {name}, particularly in achieving {goal1}.", + "{name} has shown significant growth. Areas like {strength1} are strong, while {improvement1} is an area for development.", + "Highly effective performer. {name}'s work on {goal1} has been impactful. Continue fostering {strength2}.", + "Good contributions this quarter. {name} is working towards {goal2} and improving {improvement1}.", + "{name} demonstrates potential. Key strengths include {strength1}. Next steps involve focusing on {goal1} and addressing {improvement1}.", + "Reliable and consistent performer. {name}'s {strength1} makes them a dependable team member. Agreed focus on {goal2} for next period." +] + +# --- Generation Logic --- + +synthetic_assessments = [] +used_names = set() + +# Add the original 5 +original_assessments = [ + Assessment( + employee_name='John Doe', + position='Senior Software Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.5, + strengths='Strong technical skills, excellent problem-solving abilities, great team player', + areas_for_improvement='Could improve documentation practices', + goals='Lead a major project in Q2, mentor junior developers', + comments='John has consistently delivered high-quality work and shown great leadership potential', + author=test_user + ), + Assessment( + employee_name='Jane Smith', + position='Product Manager', + department='Product', + review_period='Q1 2024', + performance_rating=4.8, + strengths='Exceptional stakeholder management, strong product vision, excellent communication', + areas_for_improvement='Could focus more on technical details', + goals='Launch new product feature in Q2, improve cross-team collaboration', + comments='Jane has been instrumental in driving product success and building strong relationships with stakeholders', + author=test_user + ), + Assessment( + employee_name='Mike Johnson', + position='UI/UX Designer', + department='Design', + review_period='Q1 2024', + performance_rating=4.2, + strengths='Creative design solutions, attention to detail, user-centered approach', + areas_for_improvement='Could improve time management', + goals='Lead design system improvements, mentor junior designers', + comments='Mike consistently delivers visually stunning and user-friendly designs that exceed expectations', + author=test_user + ), + Assessment( + employee_name='Sarah Williams', + position='Data Scientist', + department='Analytics', + review_period='Q1 2024', + performance_rating=4.9, + strengths='Advanced analytical skills, innovative problem-solving, excellent research capabilities', + areas_for_improvement='Could improve presentation skills', + goals='Publish research paper, optimize data processing pipeline', + comments='Sarah\'s work has significantly improved our data-driven decision-making processes', + author=test_user + ), + Assessment( + employee_name='Robert Brown', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.7, + strengths='Infrastructure automation expertise, strong security knowledge, excellent troubleshooting', + areas_for_improvement='Could improve documentation', + goals='Implement CI/CD improvements, enhance security protocols', + comments='Robert has been crucial in maintaining our infrastructure reliability and security', + author=test_user + ), + Assessment( + employee_name='Dakota Smith', + position='UI/UX Designer', + department='Design', + review_period='Q2 2024', + performance_rating=4.3, + strengths='Creative thinking, excellent presentation skills, campaign management', + areas_for_improvement='Needs to increase speed of delivery', + goals='Master financial forecasting model', + comments='Highly effective performer. Dakota\'s work on master financial forecasting model has been impactful. Continue fostering campaign management.', + author=test_user + ), + Assessment( + employee_name='Micah Clark', + position='Sales Operations Analyst', + department='Sales', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Detail-oriented, infrastructure automation, campaign management', + areas_for_improvement='Needs more experience with tool y', + goals='Master financial forecasting model, increase lead generation by w%', + comments='Performance meets expectations. Micah should focus on needs more experience with tool y while continuing to leverage detail-oriented.', + author=test_user + ), + Assessment( + employee_name='Finley Moore', + position='Senior Software Engineer', + department='Engineering', + review_period='Q2 2024', + performance_rating=4.0, + strengths='Talent sourcing', + areas_for_improvement='Needs to build confidence in area z, could engage more in team discussions', + goals='Master financial forecasting model', + comments='Finley is a valuable member of the team, demonstrating strong talent sourcing.', + author=test_user + ), + Assessment( + employee_name='Sophia Johnson', + position='Supply Chain Analyst', + department='Operations', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Collaborates effectively across teams, great team player', + areas_for_improvement='Needs deeper technical understanding in x area, needs to develop cross-functional collaboration', + goals='Lead a major project', + comments='Sophia has shown significant growth. Areas like great team player are strong, while needs to develop cross-functional collaboration is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emerson Baker', + position='Associate Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.9, + strengths='Strong analytical abilities', + areas_for_improvement='None noted this period.', + goals='Achieve x% sales target, lead a major project', + comments='Reliable and consistent performer. Emerson\'s strong analytical abilities makes them a dependable team member. Agreed focus on lead a major project for next period.', + author=test_user + ), + Assessment( + employee_name='Remi Perez', + position='Sales Development Representative', + department='Sales', + review_period='Q3 2023', + performance_rating=3.9, + strengths='Excellent presentation skills, financial modeling', + areas_for_improvement='Needs to build confidence in area z', + goals='Improve team velocity', + comments='Remi has shown significant growth. Areas like excellent presentation skills are strong, while needs to build confidence in area z is an area for development.', + author=test_user + ), + Assessment( + employee_name='Amelia Walker', + position='Operations Manager', + department='Operations', + review_period='Q4 2023', + performance_rating=4.4, + strengths='Proactive problem-solver, deep domain knowledge', + areas_for_improvement='Could enhance reporting clarity', + goals='Improve customer satisfaction scores', + comments='Amelia is a valuable member of the team, demonstrating strong deep domain knowledge.', + author=test_user + ), + Assessment( + employee_name='Lucas Evans', + position='Talent Acquisition Specialist', + department='HR', + review_period='Q1 2024', + performance_rating=3.1, + strengths='Collaborates effectively across teams, strong leadership potential, strong analytical abilities', + areas_for_improvement='Needs more experience with tool y', + goals='Improve design system adoption', + comments='Excellent progress shown by Lucas, particularly in achieving improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Noah Williams', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Code quality focus, proactive problem-solver', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, develop new marketing campaign strategy', + comments='Noah is a valuable member of the team, demonstrating strong proactive problem-solver.', + author=test_user + ), + Assessment( + employee_name='Peyton Taylor', + position='SEO Manager', + department='Marketing', + review_period='Q3 2024', + performance_rating=3.8, + strengths='Efficient time management', + areas_for_improvement='Needs to refine requirements gathering, needs more experience with tool y', + goals='Lead a major project', + comments='A solid performance from Peyton this period. Key contributions include lead a major project.', + author=test_user + ), + Assessment( + employee_name='Benjamin Clark', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2023', + performance_rating=4.2, + strengths='Collaborates effectively across teams, efficient time management', + areas_for_improvement='Needs to improve prioritization skills, needs to delegate more effectively', + goals='Lead a major project, mentor junior developers/colleagues', + comments='Benjamin demonstrates potential. Key strengths include collaborates effectively across teams. Next steps involve focusing on lead a major project and addressing needs to improve prioritization skills.', + author=test_user + ), + Assessment( + employee_name='Isabella King', + position='Product Manager', + department='Product', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Strong analytical abilities', + areas_for_improvement='Needs to improve prioritization skills, could enhance reporting clarity', + goals='Mentor junior developers/colleagues', + comments='A solid performance from Isabella this period. Key contributions include mentor junior developers/colleagues.', + author=test_user + ), + Assessment( + employee_name='Micah Brown', + position='Business Intelligence Analyst', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.8, + strengths='Code quality focus, detail-oriented', + areas_for_improvement='Needs to manage stakeholder expectations better, needs to enhance presentation skills', + goals='Lead a major project', + comments='Micah has shown significant growth. Areas like code quality focus are strong, while needs to manage stakeholder expectations better is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sawyer Turner', + position='Systems Architect', + department='Engineering', + review_period='Q3 2023', + performance_rating=4.5, + strengths='Excellent presentation skills', + areas_for_improvement='Could improve documentation practices', + goals='Refine onboarding process', + comments='Sawyer has shown significant growth. Areas like excellent presentation skills are strong, while could improve documentation practices is an area for development.', + author=test_user + ), + Assessment( + employee_name='Jordan King', + position='Sales Development Representative', + department='Sales', + review_period='Q2 2023', + performance_rating=3.9, + strengths='Stakeholder management', + areas_for_improvement='Could engage more in team discussions, could be more proactive in communication', + goals='Complete certification z', + comments='Reliable and consistent performer. Jordan\'s stakeholder management makes them a dependable team member. Agreed focus on complete certification z for next period.', + author=test_user + ), + Assessment( + employee_name='Dakota Turner', + position='HR Generalist', + department='HR', + review_period='Q2 2024', + performance_rating=4.1, + strengths='Excellent presentation skills', + areas_for_improvement='Needs to develop cross-functional collaboration, needs to delegate more effectively', + goals='Improve design system adoption, streamline reporting process', + comments='A solid performance from Dakota this period. Key contributions include improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Chris White', + position='Account Executive', + department='Sales', + review_period='Q3 2024', + performance_rating=4.0, + strengths='Manages complexity well, delivers high-quality results consistently', + areas_for_improvement='Needs to delegate more effectively, needs to build confidence in area z', + goals='Master financial forecasting model', + comments='Highly effective performer. Chris\'s work on master financial forecasting model has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Isabella Robinson', + position='Content Strategist', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Mentors junior team members, proactive problem-solver', + areas_for_improvement='Could improve attention to detail on routine tasks, could work on meeting deadlines more consistently', + goals='Achieve x% sales target', + comments='Isabella has shown significant growth. Areas like proactive problem-solver are strong, while could improve attention to detail on routine tasks is an area for development.', + author=test_user + ), + Assessment( + employee_name='Cameron Phillips', + position='Operations Manager', + department='Operations', + review_period='Q2 2024', + performance_rating=4.6, + strengths='Strategic thinking, infrastructure automation', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Lead a major project', + comments='Highly effective performer. Cameron\'s work on lead a major project has been impactful. Continue fostering infrastructure automation.', + author=test_user + ), + Assessment( + employee_name='Chris Young', + position='Design Lead', + department='Design', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Positive attitude, excellent communication skills', + areas_for_improvement='None noted this period.', + goals='Refine onboarding process', + comments='Chris is a valuable member of the team, demonstrating strong positive attitude.', + author=test_user + ), + Assessment( + employee_name='Sam Roberts', + position='Sales Operations Analyst', + department='Sales', + review_period='Q1 2024', + performance_rating=3.9, + strengths='Code quality focus, excellent presentation skills, quick learner', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, master financial forecasting model', + comments='Excellent progress shown by Sam, particularly in achieving increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Alexander Thomas', + position='Compensation Analyst', + department='HR', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Customer-focused', + areas_for_improvement='Needs deeper technical understanding in x area, could improve time management', + goals='Lead a major project, take on more leadership responsibilities', + comments='Highly effective performer. Alexander\'s work on take on more leadership responsibilities has been impactful. Continue fostering customer-focused.', + author=test_user + ), + Assessment( + employee_name='Harper Johnson', + position='QA Engineer', + department='Engineering', + review_period='Q2 2023', + performance_rating=4.0, + strengths='Manages complexity well', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Gain expertise in technology x', + comments='Highly effective performer. Harper\'s work on gain expertise in technology x has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Avery Rodriguez', + position='Accountant', + department='Finance', + review_period='Q1 2023', + performance_rating=3.4, + strengths='Code quality focus', + areas_for_improvement='Needs to build confidence in area z', + goals='Enhance security protocols, implement ci/cd improvements', + comments='Highly effective performer. Avery\'s work on enhance security protocols has been impactful. Continue fostering code quality focus.', + author=test_user + ), + Assessment( + employee_name='Lucas Scott', + position='Social Media Coordinator', + department='Marketing', + review_period='Q3 2023', + performance_rating=5.0, + strengths='Creative thinking', + areas_for_improvement='Could be more proactive in communication', + goals='Improve team velocity', + comments='Highly effective performer. Lucas\'s work on improve team velocity has been impactful. Continue fostering creative thinking.', + author=test_user + ), + Assessment( + employee_name='Dakota Lee', + position='Finance Manager', + department='Finance', + review_period='Q4 2023', + performance_rating=3.3, + strengths='Talent sourcing', + areas_for_improvement='Could enhance reporting clarity', + goals='Launch new product feature', + comments='A solid performance from Dakota this period. Key contributions include launch new product feature.', + author=test_user + ), + Assessment( + employee_name='Chris Campbell', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q3 2024', + performance_rating=4.2, + strengths='Strong leadership potential', + areas_for_improvement='Needs to enhance presentation skills, could be more proactive in communication', + goals='Master financial forecasting model', + comments='Performance meets expectations. Chris should focus on needs to enhance presentation skills while continuing to leverage strong leadership potential.', + author=test_user + ), + Assessment( + employee_name='Henry Smith', + position='Customer Success Manager', + department='Sales', + review_period='Q2 2024', + performance_rating=4.4, + strengths='Positive attitude, takes initiative, talent sourcing', + areas_for_improvement='Needs to delegate more effectively', + goals='Increase lead generation by w%, launch new product feature', + comments='Henry consistently exceeds expectations. Strengths in takes initiative and talent sourcing are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Taylor Adams', + position='UI/UX Designer', + department='Design', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Positive attitude, deep domain knowledge', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Take on more leadership responsibilities', + comments='Reliable and consistent performer. Taylor\'s deep domain knowledge makes them a dependable team member. Agreed focus on take on more leadership responsibilities for next period.', + author=test_user + ), + Assessment( + employee_name='Skyler Young', + position='Systems Architect', + department='Engineering', + review_period='Q4 2023', + performance_rating=3.9, + strengths='Strong analytical abilities', + areas_for_improvement='Could focus more on strategic goals, needs to improve prioritization skills', + goals='Improve customer satisfaction scores', + comments='Performance meets expectations. Skyler should focus on needs to improve prioritization skills while continuing to leverage strong analytical abilities.', + author=test_user + ), + Assessment( + employee_name='Sawyer Rodriguez', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.6, + strengths='Deep domain knowledge, stakeholder management', + areas_for_improvement='Could benefit from assertiveness training, could improve attention to detail on routine tasks', + goals='Publish research/blog post', + comments='Good contributions this quarter. Sawyer is working towards publish research/blog post and improving could benefit from assertiveness training.', + author=test_user + ), + Assessment( + employee_name='Blake Martinez', + position='Content Strategist', + department='Marketing', + review_period='Q4 2023', + performance_rating=4.0, + strengths='Data-driven decision maker, great team player', + areas_for_improvement='Needs to improve prioritization skills, needs to develop cross-functional collaboration', + goals='Optimize data processing pipeline', + comments='Blake demonstrates potential. Key strengths include great team player. Next steps involve focusing on optimize data processing pipeline and addressing needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Sam Johnson', + position='Logistics Manager', + department='Operations', + review_period='Q2 2023', + performance_rating=4.0, + strengths='Excellent presentation skills, manages complexity well', + areas_for_improvement='Could benefit from assertiveness training, needs to delegate more effectively', + goals='Develop a new training module', + comments='A solid performance from Sam this period. Key contributions include develop a new training module.', + author=test_user + ), + Assessment( + employee_name='Benjamin Thomas', + position='Systems Architect', + department='Engineering', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Highly adaptable, delivers high-quality results consistently', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Lead a major project', + comments='Performance meets expectations. Benjamin should focus on ongoing development while continuing to leverage highly adaptable.', + author=test_user + ), + Assessment( + employee_name='Drew Anderson', + position='Associate Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.1, + strengths='Positive attitude, campaign management', + areas_for_improvement='Could work on meeting deadlines more consistently, could improve time management', + goals='Optimize data processing pipeline, refine onboarding process', + comments='Good contributions this quarter. Drew is working towards optimize data processing pipeline and improving could improve time management.', + author=test_user + ), + Assessment( + employee_name='Olivia King', + position='HR Generalist', + department='HR', + review_period='Q1 2024', + performance_rating=4.6, + strengths='Code quality focus, strong analytical abilities, detail-oriented', + areas_for_improvement='Needs more experience with tool y', + goals='Master financial forecasting model, improve design system adoption', + comments='Reliable and consistent performer. Olivia\'s code quality focus makes them a dependable team member. Agreed focus on improve design system adoption for next period.', + author=test_user + ), + Assessment( + employee_name='Casey Smith', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Manages complexity well, negotiation skills, delivers high-quality results consistently', + areas_for_improvement='Could improve documentation practices', + goals='Gain expertise in technology x, streamline reporting process', + comments='Reliable and consistent performer. Casey\'s delivers high-quality results consistently makes them a dependable team member. Agreed focus on gain expertise in technology x for next period.', + author=test_user + ), + Assessment( + employee_name='Micah Jackson', + position='Data Engineer', + department='Analytics', + review_period='Q2 2024', + performance_rating=3.9, + strengths='User empathy, strategic thinking, negotiation skills', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Publish research/blog post', + comments='Performance meets expectations. Micah should focus on needs deeper technical understanding in x area while continuing to leverage user empathy.', + author=test_user + ), + Assessment( + employee_name='Emma Clark', + position='Social Media Coordinator', + department='Marketing', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Customer-focused, creative thinking, stakeholder management', + areas_for_improvement='None noted this period.', + goals='Improve design system adoption, streamline reporting process', + comments='Emma demonstrates potential. Key strengths include customer-focused. Next steps involve focusing on streamline reporting process and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Drew Wilson', + position='Controller', + department='Finance', + review_period='Q3 2024', + performance_rating=4.7, + strengths='Highly adaptable, excellent presentation skills, data-driven decision maker', + areas_for_improvement='Needs to manage stakeholder expectations better', + goals='Improve team velocity', + comments='Performance meets expectations. Drew should focus on needs to manage stakeholder expectations better while continuing to leverage highly adaptable.', + author=test_user + ), + Assessment( + employee_name='Ava Harris', + position='SEO Manager', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.8, + strengths='Strong leadership potential, negotiation skills, user empathy', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Implement ci/cd improvements, launch new product feature', + comments='Reliable and consistent performer. Ava\'s negotiation skills makes them a dependable team member. Agreed focus on implement ci/cd improvements for next period.', + author=test_user + ), + Assessment( + employee_name='Liam Anderson', + position='Graphic Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.3, + strengths='Infrastructure automation, quick learner, strong analytical abilities', + areas_for_improvement='Could improve attention to detail on routine tasks', + goals='Reduce operational costs by y%, develop a new training module', + comments='Good contributions this quarter. Liam is working towards reduce operational costs by y% and improving could improve attention to detail on routine tasks.', + author=test_user + ), + Assessment( + employee_name='Ava Hernandez', + position='Accountant', + department='Finance', + review_period='Q2 2023', + performance_rating=4.4, + strengths='Customer-focused, stakeholder management, strategic thinking', + areas_for_improvement='Could engage more in team discussions, needs to manage stakeholder expectations better', + goals='Improve cross-team collaboration, implement ci/cd improvements', + comments='Ava is a valuable member of the team, demonstrating strong strategic thinking.', + author=test_user + ), + Assessment( + employee_name='Sawyer Ramirez', + position='Account Executive', + department='Sales', + review_period='Q2 2023', + performance_rating=3.2, + strengths='Strong leadership potential', + areas_for_improvement='Needs to improve prioritization skills', + goals='Launch new product feature', + comments='Excellent progress shown by Sawyer, particularly in achieving launch new product feature.', + author=test_user + ), + Assessment( + employee_name='Amelia Parker', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Takes initiative, data-driven decision maker, deep domain knowledge', + areas_for_improvement='Could improve time management', + goals='Refine onboarding process', + comments='A solid performance from Amelia this period. Key contributions include refine onboarding process.', + author=test_user + ), + Assessment( + employee_name='Lucas Smith', + position='Interaction Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.9, + strengths='Highly adaptable, data-driven decision maker, quick learner', + areas_for_improvement='None noted this period.', + goals='Enhance security protocols', + comments='Lucas demonstrates potential. Key strengths include highly adaptable. Next steps involve focusing on enhance security protocols and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Oliver Hernandez', + position='Software Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.2, + strengths='Data-driven decision maker, collaborates effectively across teams, deep domain knowledge', + areas_for_improvement='Needs to refine requirements gathering', + goals='Complete certification z', + comments='A solid performance from Oliver this period. Key contributions include complete certification z.', + author=test_user + ), + Assessment( + employee_name='Charlotte Campbell', + position='QA Engineer', + department='Engineering', + review_period='Q4 2023', + performance_rating=4.9, + strengths='Talent sourcing', + areas_for_improvement='None noted this period.', + goals='Publish research/blog post', + comments='Charlotte consistently exceeds expectations. Strengths in talent sourcing and talent sourcing are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Finley Garcia', + position='QA Engineer', + department='Engineering', + review_period='Q2 2024', + performance_rating=3.9, + strengths='Delivers high-quality results consistently', + areas_for_improvement='Needs to improve prioritization skills, needs to develop cross-functional collaboration', + goals='Achieve x% sales target', + comments='Performance meets expectations. Finley should focus on needs to develop cross-functional collaboration while continuing to leverage delivers high-quality results consistently.', + author=test_user + ), + Assessment( + employee_name='James Clark', + position='UI/UX Designer', + department='Design', + review_period='Q4 2024', + performance_rating=4.2, + strengths='Data-driven decision maker, process optimization', + areas_for_improvement='Needs more experience with tool y', + goals='Increase lead generation by w%, optimize data processing pipeline', + comments='A solid performance from James this period. Key contributions include increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Avery King', + position='Content Strategist', + department='Marketing', + review_period='Q3 2023', + performance_rating=3.9, + strengths='Strategic thinking, financial modeling', + areas_for_improvement='Could enhance reporting clarity', + goals='Enhance security protocols', + comments='Avery consistently exceeds expectations. Strengths in financial modeling and strategic thinking are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Riley Thomas', + position='Sales Operations Analyst', + department='Sales', + review_period='Q4 2024', + performance_rating=4.4, + strengths='Security best practices, takes initiative', + areas_for_improvement='Could improve documentation practices, could improve attention to detail on routine tasks', + goals='Develop new marketing campaign strategy, launch new product feature', + comments='Highly effective performer. Riley\'s work on develop new marketing campaign strategy has been impactful. Continue fostering security best practices.', + author=test_user + ), + Assessment( + employee_name='Benjamin Parker', + position='Senior Designer', + department='Design', + review_period='Q2 2023', + performance_rating=4.1, + strengths='Highly adaptable', + areas_for_improvement='Could improve documentation practices, could enhance reporting clarity', + goals='Improve customer satisfaction scores', + comments='Reliable and consistent performer. Benjamin\'s highly adaptable makes them a dependable team member. Agreed focus on improve customer satisfaction scores for next period.', + author=test_user + ), + Assessment( + employee_name='Isabella Johnson', + position='Data Engineer', + department='Analytics', + review_period='Q3 2024', + performance_rating=3.2, + strengths='Excellent communication skills, financial modeling', + areas_for_improvement='Could engage more in team discussions, could improve handling of constructive feedback', + goals='Gain expertise in technology x, refine onboarding process', + comments='Highly effective performer. Isabella\'s work on refine onboarding process has been impactful. Continue fostering excellent communication skills.', + author=test_user + ), + Assessment( + employee_name='Liam Baker', + position='Data Engineer', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.5, + strengths='Strong leadership potential', + areas_for_improvement='Needs to manage stakeholder expectations better', + goals='Mentor junior developers/colleagues', + comments='Liam consistently exceeds expectations. Strengths in strong leadership potential and strong leadership potential are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Morgan Baker', + position='Product Manager', + department='Product', + review_period='Q2 2024', + performance_rating=4.3, + strengths='Highly adaptable', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, achieve x% sales target', + comments='Morgan demonstrates potential. Key strengths include highly adaptable. Next steps involve focusing on increase lead generation by w% and addressing needs to build confidence in area z.', + author=test_user + ), + Assessment( + employee_name='Henry Evans', + position='Operations Coordinator', + department='Operations', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Talent sourcing', + areas_for_improvement='Could focus more on strategic goals, needs to enhance presentation skills', + goals='Gain expertise in technology x', + comments='Henry is a valuable member of the team, demonstrating strong talent sourcing.', + author=test_user + ), + Assessment( + employee_name='Evelyn Phillips', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=3.9, + strengths='Creative thinking', + areas_for_improvement='Needs to refine requirements gathering, could improve time management', + goals='Increase lead generation by w%, reduce operational costs by y%', + comments='Evelyn is a valuable member of the team, demonstrating strong creative thinking.', + author=test_user + ), + Assessment( + employee_name='Drew Gonzalez', + position='Content Strategist', + department='Marketing', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Campaign management', + areas_for_improvement='None noted this period.', + goals='Develop new marketing campaign strategy', + comments='Drew has shown significant growth. Areas like campaign management are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Skyler Thompson', + position='Social Media Coordinator', + department='Marketing', + review_period='Q4 2024', + performance_rating=3.3, + strengths='Mentors junior team members', + areas_for_improvement='Needs more experience with tool y, needs to delegate more effectively', + goals='Improve customer satisfaction scores', + comments='A solid performance from Skyler this period. Key contributions include improve customer satisfaction scores.', + author=test_user + ), + Assessment( + employee_name='Morgan Nelson', + position='Supply Chain Analyst', + department='Operations', + review_period='Q4 2023', + performance_rating=4.3, + strengths='Strategic thinking, manages complexity well', + areas_for_improvement='Could focus more on strategic goals', + goals='Improve customer satisfaction scores, lead a major project', + comments='Good contributions this quarter. Morgan is working towards improve customer satisfaction scores and improving could focus more on strategic goals.', + author=test_user + ), + Assessment( + employee_name='Benjamin Evans', + position='Supply Chain Analyst', + department='Operations', + review_period='Q2 2024', + performance_rating=4.9, + strengths='Mentors junior team members, proactive problem-solver', + areas_for_improvement='None noted this period.', + goals='Streamline reporting process, take on more leadership responsibilities', + comments='Benjamin has shown significant growth. Areas like proactive problem-solver are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sam Taylor', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q4 2024', + performance_rating=4.0, + strengths='Excellent communication skills', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Improve design system adoption', + comments='Sam has shown significant growth. Areas like excellent communication skills are strong, while could work on meeting deadlines more consistently is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sophia Baker', + position='QA Engineer', + department='Engineering', + review_period='Q1 2023', + performance_rating=3.9, + strengths='Creative thinking', + areas_for_improvement='Could improve attention to detail on routine tasks', + goals='Enhance security protocols, present at a conference', + comments='Excellent progress shown by Sophia, particularly in achieving present at a conference.', + author=test_user + ), + Assessment( + employee_name='Noah Thomas', + position='Talent Acquisition Specialist', + department='HR', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Mentors junior team members, code quality focus', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Achieve x% sales target', + comments='Noah is a valuable member of the team, demonstrating strong mentors junior team members.', + author=test_user + ), + Assessment( + employee_name='Elijah Anderson', + position='Graphic Designer', + department='Design', + review_period='Q1 2024', + performance_rating=3.3, + strengths='Deep domain knowledge, infrastructure automation', + areas_for_improvement='Could engage more in team discussions, needs more experience with tool y', + goals='Achieve x% sales target, streamline reporting process', + comments='Elijah is a valuable member of the team, demonstrating strong infrastructure automation.', + author=test_user + ), + Assessment( + employee_name='Charlie Lewis', + position='Data Analyst', + department='Analytics', + review_period='Q1 2023', + performance_rating=4.3, + strengths='Delivers high-quality results consistently, manages complexity well, security best practices', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Refine onboarding process', + comments='Charlie has shown significant growth. Areas like delivers high-quality results consistently are strong, while needs deeper technical understanding in x area is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emma Parker', + position='Interaction Designer', + department='Design', + review_period='Q3 2023', + performance_rating=3.5, + strengths='Strong leadership potential, highly adaptable, strong technical aptitude', + areas_for_improvement='Needs to manage stakeholder expectations better, needs to develop cross-functional collaboration', + goals='Develop new marketing campaign strategy, increase lead generation by w%', + comments='Good contributions this quarter. Emma is working towards develop new marketing campaign strategy and improving needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Harper Roberts', + position='Design Lead', + department='Design', + review_period='Q3 2023', + performance_rating=4.6, + strengths='Process optimization, mentors junior team members', + areas_for_improvement='None noted this period.', + goals='Improve cross-team collaboration, achieve x% sales target', + comments='Harper has shown significant growth. Areas like mentors junior team members are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emma Lopez', + position='Associate Product Manager', + department='Product', + review_period='Q4 2023', + performance_rating=4.4, + strengths='Highly adaptable, mentors junior team members, proactive problem-solver', + areas_for_improvement='Needs to refine requirements gathering, needs to enhance presentation skills', + goals='Master financial forecasting model', + comments='Excellent progress shown by Emma, particularly in achieving master financial forecasting model.', + author=test_user + ), + Assessment( + employee_name='Taylor Carter', + position='Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.1, + strengths='User empathy, delivers high-quality results consistently', + areas_for_improvement='Needs to refine requirements gathering', + goals='Lead a major project', + comments='Reliable and consistent performer. Taylor\'s delivers high-quality results consistently makes them a dependable team member. Agreed focus on lead a major project for next period.', + author=test_user + ), + Assessment( + employee_name='Noah Moore', + position='Account Executive', + department='Sales', + review_period='Q3 2024', + performance_rating=4.4, + strengths='Highly adaptable', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Present at a conference', + comments='A solid performance from Noah this period. Key contributions include present at a conference.', + author=test_user + ), + Assessment( + employee_name='Jamie Martinez', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Quick learner, collaborates effectively across teams, strong technical aptitude', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Improve customer satisfaction scores, implement ci/cd improvements', + comments='Highly effective performer. Jamie\'s work on improve customer satisfaction scores has been impactful. Continue fostering quick learner.', + author=test_user + ), + Assessment( + employee_name='Charlie Turner', + position='Compensation Analyst', + department='HR', + review_period='Q4 2023', + performance_rating=4.7, + strengths='Mentors junior team members', + areas_for_improvement='Needs to enhance presentation skills', + goals='Launch new product feature, develop new marketing campaign strategy', + comments='Performance meets expectations. Charlie should focus on needs to enhance presentation skills while continuing to leverage mentors junior team members.', + author=test_user + ), + Assessment( + employee_name='Olivia Jones', + position='Operations Coordinator', + department='Operations', + review_period='Q3 2024', + performance_rating=4.7, + strengths='Great team player, strategic thinking, detail-oriented', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Complete certification z', + comments='A solid performance from Olivia this period. Key contributions include complete certification z.', + author=test_user + ), + Assessment( + employee_name='Lucas Davis', + position='Tech Lead', + department='Engineering', + review_period='Q4 2023', + performance_rating=4.0, + strengths='Delivers high-quality results consistently, negotiation skills, strategic thinking', + areas_for_improvement='Needs to refine requirements gathering, needs to develop cross-functional collaboration', + goals='Lead a major project, develop new marketing campaign strategy', + comments='Good contributions this quarter. Lucas is working towards develop new marketing campaign strategy and improving needs to refine requirements gathering.', + author=test_user + ), + Assessment( + employee_name='Reese Walker', + position='Finance Manager', + department='Finance', + review_period='Q2 2023', + performance_rating=5.0, + strengths='Infrastructure automation, strong leadership potential, stakeholder management', + areas_for_improvement='Could focus more on strategic goals', + goals='Mentor junior developers/colleagues, develop new marketing campaign strategy', + comments='Reese consistently exceeds expectations. Strengths in strong leadership potential and stakeholder management are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Mia Nelson', + position='HR Manager', + department='HR', + review_period='Q4 2024', + performance_rating=4.6, + strengths='Data-driven decision maker', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Enhance security protocols', + comments='Mia demonstrates potential. Key strengths include data-driven decision maker. Next steps involve focusing on enhance security protocols and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Benjamin Martinez', + position='Interaction Designer', + department='Design', + review_period='Q3 2024', + performance_rating=4.2, + strengths='User empathy', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Reduce operational costs by y%, increase lead generation by w%', + comments='A solid performance from Benjamin this period. Key contributions include increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Reese Parker', + position='Senior Designer', + department='Design', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Process optimization, strategic thinking', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Gain expertise in technology x, refine onboarding process', + comments='Performance meets expectations. Reese should focus on needs deeper technical understanding in x area while continuing to leverage strategic thinking.', + author=test_user + ), + Assessment( + employee_name='Alexander Lewis', + position='Finance Manager', + department='Finance', + review_period='Q4 2024', + performance_rating=3.2, + strengths='Great team player, strong analytical abilities', + areas_for_improvement='Needs to increase speed of delivery', + goals='Streamline reporting process, achieve x% sales target', + comments='Reliable and consistent performer. Alexander\'s great team player makes them a dependable team member. Agreed focus on achieve x% sales target for next period.', + author=test_user + ), + Assessment( + employee_name='Kai Robinson', + position='Senior Financial Analyst', + department='Finance', + review_period='Q1 2024', + performance_rating=3.6, + strengths='Creative thinking', + areas_for_improvement='Could engage more in team discussions, needs to develop cross-functional collaboration', + goals='Develop new marketing campaign strategy, mentor junior developers/colleagues', + comments='Kai is a valuable member of the team, demonstrating strong creative thinking.', + author=test_user + ), + Assessment( + employee_name='Cameron Allen', + position='Customer Success Manager', + department='Sales', + review_period='Q4 2024', + performance_rating=3.8, + strengths='Strong technical aptitude', + areas_for_improvement='Could improve attention to detail on routine tasks, could work on meeting deadlines more consistently', + goals='Enhance security protocols', + comments='Cameron is a valuable member of the team, demonstrating strong strong technical aptitude.', + author=test_user + ), + Assessment( + employee_name='Riley Scott', + position='Operations Manager', + department='Operations', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Strong leadership potential, excellent communication skills', + areas_for_improvement='Could improve documentation practices', + goals='Lead a major project', + comments='Highly effective performer. Riley\'s work on lead a major project has been impactful. Continue fostering strong leadership potential.', + author=test_user + ), + Assessment( + employee_name='Finley Johnson', + position='Associate Product Manager', + department='Product', + review_period='Q2 2023', + performance_rating=4.1, + strengths='Campaign management, financial modeling', + areas_for_improvement='Could improve documentation practices, needs to build confidence in area z', + goals='Reduce operational costs by y%', + comments='Highly effective performer. Finley\'s work on reduce operational costs by y% has been impactful. Continue fostering financial modeling.', + author=test_user + ), + Assessment( + employee_name='William Mitchell', + position='Data Engineer', + department='Analytics', + review_period='Q1 2023', + performance_rating=4.0, + strengths='Positive attitude, excellent communication skills', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Enhance security protocols', + comments='Reliable and consistent performer. William\'s excellent communication skills makes them a dependable team member. Agreed focus on enhance security protocols for next period.', + author=test_user + ), + Assessment( + employee_name='Logan Thompson', + position='Graphic Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.2, + strengths='Infrastructure automation, negotiation skills, strong technical aptitude', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Lead a major project, optimize data processing pipeline', + comments='Good contributions this quarter. Logan is working towards lead a major project and improving needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Casey Baker', + position='UI/UX Designer', + department='Design', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Campaign management, highly adaptable', + areas_for_improvement='Could be more proactive in communication', + goals='Optimize data processing pipeline', + comments='Highly effective performer. Casey\'s work on optimize data processing pipeline has been impactful. Continue fostering campaign management.', + author=test_user + ), + Assessment( + employee_name='William Turner', + position='Recruiter', + department='HR', + review_period='Q3 2024', + performance_rating=3.3, + strengths='Negotiation skills, data-driven decision maker, creative thinking', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Master financial forecasting model, complete certification z', + comments='Good contributions this quarter. William is working towards complete certification z and improving could work on meeting deadlines more consistently.', + author=test_user + ), + Assessment( + employee_name='Casey Thompson', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q3 2024', + performance_rating=3.8, + strengths='Infrastructure automation', + areas_for_improvement='Could be more proactive in communication', + goals='Enhance security protocols', + comments='Good contributions this quarter. Casey is working towards enhance security protocols and improving could be more proactive in communication.', + author=test_user + ), + Assessment( + employee_name='Cameron Baker', + position='Logistics Manager', + department='Operations', + review_period='Q3 2023', + performance_rating=4.9, + strengths='Excellent presentation skills, excellent communication skills', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Lead a major project, present at a conference', + comments='A solid performance from Cameron this period. Key contributions include lead a major project.', + author=test_user + ), + Assessment( + employee_name='Jordan Campbell', + position='Compensation Analyst', + department='HR', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Code quality focus, highly adaptable, campaign management', + areas_for_improvement='Needs to delegate more effectively', + goals='Achieve x% sales target, complete certification z', + comments='Performance meets expectations. Jordan should focus on needs to delegate more effectively while continuing to leverage campaign management.', + author=test_user + ), + Assessment( + employee_name='Rowan Nelson', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.2, + strengths='Stakeholder management, data-driven decision maker', + areas_for_improvement='Could improve handling of constructive feedback', + goals='Reduce operational costs by y%', + comments='Rowan demonstrates potential. Key strengths include stakeholder management. Next steps involve focusing on reduce operational costs by y% and addressing could improve handling of constructive feedback.', + author=test_user + ), + Assessment( + employee_name='Charlotte Lewis', + position='Content Strategist', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Excellent presentation skills, financial modeling, process optimization', + areas_for_improvement='Needs to build confidence in area z', + goals='Develop new marketing campaign strategy', + comments='Charlotte demonstrates potential. Key strengths include excellent presentation skills. Next steps involve focusing on develop new marketing campaign strategy and addressing needs to build confidence in area z.', + author=test_user + ), + Assessment( + employee_name='Devin Thomas', + position='UX Researcher', + department='Product', + review_period='Q1 2023', + performance_rating=4.7, + strengths='Deep domain knowledge, takes initiative, proactive problem-solver', + areas_for_improvement='Could work on meeting deadlines more consistently, could benefit from assertiveness training', + goals='Publish research/blog post', + comments='Highly effective performer. Devin\'s work on publish research/blog post has been impactful. Continue fostering proactive problem-solver.', + author=test_user + ) +] + +for assessment in original_assessments: + synthetic_assessments.append(assessment) + used_names.add(assessment.employee_name) + +# Generate 95 more +num_to_generate = 95 +attempts = 0 +max_attempts = num_to_generate * 3 # Limit attempts to avoid infinite loop if name pool is small + +while len(synthetic_assessments) < 100 and attempts < max_attempts: + attempts += 1 + + # Generate Name + first = random.choice(first_names) + last = random.choice(last_names) + name = f"{first} {last}" + if name in used_names: + continue # Avoid duplicate names + used_names.add(name) + + # Select Department and Position + department = random.choice(list(departments_positions.keys())) + position = random.choice(departments_positions[department]) + + # Select Review Period + review_period = random.choice(review_periods) + + # Generate Rating (slightly skewed towards positive) + rating_roll = random.random() + if rating_roll > 0.7: # 30% chance of 4.5 - 5.0 + performance_rating = round(random.uniform(4.5, 5.0), 1) + elif rating_roll > 0.2: # 50% chance of 3.8 - 4.4 + performance_rating = round(random.uniform(3.8, 4.4), 1) + else: # 20% chance of 3.0 - 3.7 + performance_rating = round(random.uniform(3.0, 3.7), 1) + + # Generate Text Fields + num_strengths = random.randint(1, 3) + strengths = ", ".join(random.sample(strength_phrases, num_strengths)).capitalize() + + # Areas for improvement less likely for high ratings + if performance_rating >= 4.6 and random.random() > 0.3: # 70% chance of no/minor improvements for top performers + areas_for_improvement = random.choice(["None noted this period.", "Focus remains on leveraging strengths."]) + else: + num_improvements = random.randint(1, 2) + areas_for_improvement = ", ".join(random.sample(improvement_phrases, num_improvements)).capitalize() + + num_goals = random.randint(1, 2) + goals = ", ".join(random.sample(goal_phrases, num_goals)).capitalize() + + # Generate Comments using templates + selected_strength1 = random.choice(strengths.split(', ')).strip().lower() + selected_strength2 = random.choice(strengths.split(', ')).strip().lower() + while selected_strength1 == selected_strength2 and len(strengths.split(', ')) > 1: # Ensure two different strengths if possible + selected_strength2 = random.choice(strengths.split(', ')).strip().lower() + + selected_improvement1 = random.choice(areas_for_improvement.split(', ')).strip().lower() if areas_for_improvement not in ["None noted this period.", "Focus remains on leveraging strengths."] else "ongoing development" + selected_goal1 = random.choice(goals.split(', ')).strip().lower() + selected_goal2 = random.choice(goals.split(', ')).strip().lower() + while selected_goal1 == selected_goal2 and len(goals.split(', ')) > 1: + selected_goal2 = random.choice(goals.split(', ')).strip().lower() + + comment_template = random.choice(comment_templates) + comments = comment_template.format( + name=first, # Use first name for personalization + strength1=selected_strength1, + strength2=selected_strength2, + improvement1=selected_improvement1, + goal1=selected_goal1, + goal2=selected_goal2 + ) + + # Create Assessment object (ensure author=test_user is used) + assessment = Assessment( + employee_name=name, + position=position, + department=department, + review_period=review_period, + performance_rating=performance_rating, + strengths=strengths, + areas_for_improvement=areas_for_improvement, + goals=goals, + comments=comments, + author=test_user # Use the test_user variable + ) + synthetic_assessments.append(assessment) + +# --- Output the generated data in the desired format --- + +print("# Start of generated assessment data") +print("assessments = [") + +for i, assessment in enumerate(synthetic_assessments): + # Properly escape single quotes within strings + safe_strengths = assessment.strengths.replace("'", "\\'") + safe_areas = assessment.areas_for_improvement.replace("'", "\\'") + safe_goals = assessment.goals.replace("'", "\\'") + safe_comments = assessment.comments.replace("'", "\\'") + safe_name = assessment.employee_name.replace("'", "\\'") + safe_position = assessment.position.replace("'", "\\'") + safe_department = assessment.department.replace("'", "\\'") + safe_review_period = assessment.review_period.replace("'", "\\'") + + print(f" Assessment(") + print(f" employee_name='{safe_name}',") + print(f" position='{safe_position}',") + print(f" department='{safe_department}',") + print(f" review_period='{safe_review_period}',") + print(f" performance_rating={assessment.performance_rating},") + print(f" strengths='{safe_strengths}',") + print(f" areas_for_improvement='{safe_areas}',") + print(f" goals='{safe_goals}',") + print(f" comments='{safe_comments}',") + # Ensure the author field correctly uses the variable `test_user` + # If test_user is a string literal like "'System Generated'", it will print that. + # If test_user is an object variable, it will print the variable name. + # Adjust the following line based on how `test_user` is actually defined and needed in the output. + # Assuming test_user is a variable name that should appear literally in the output: + print(f" author=test_user") + # If test_user was intended to be a string *value* in the output, use: + # print(f" author='{assessment.author}'") # Assuming author holds a string value + print(f" ){',' if i < len(synthetic_assessments) - 1 else ''}") + +print("]") +print(f"# Total assessments generated: {len(synthetic_assessments)}") +# --- End of generated assessment data --- \ No newline at end of file diff --git a/app/models/user.py b/app/models/user.py index e19956c..518bc3a 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -2,7 +2,6 @@ from flask_login import UserMixin from werkzeug.security import generate_password_hash, check_password_hash from datetime import datetime -from app.models.assessment import Assessment class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) @@ -26,4 +25,4 @@ def check_password(self, password): return check_password_hash(self.password_hash, password) def get_assessments(self): - return self.assessments.order_by(Assessment.created_at.desc()) \ No newline at end of file + return self.assessments.order_by(Assessment.created_at.desc()) \ No newline at end of file diff --git a/app/routes/main.py b/app/routes/main.py index 556be57..a50de90 100644 --- a/app/routes/main.py +++ b/app/routes/main.py @@ -1,8 +1,14 @@ -from flask import Blueprint, render_template -from flask_login import login_required +from flask import Blueprint, render_template, request, url_for +from flask_login import login_required, current_user +from app.services.chromadb_service import ChromaDBService +from app.models.assessment import Assessment +from app import db main = Blueprint('main', __name__) +# Initialize ChromaDB service +chromadb_service = ChromaDBService() + @main.route('/') def index(): return render_template('index.html') @@ -10,4 +16,20 @@ def index(): @main.route('/dashboard') @login_required def dashboard(): - return render_template('dashboard.html') \ No newline at end of file + # Get the user's assessments with the Assessment model + assessments = current_user.assessments.order_by(Assessment.created_at.desc()).limit(10).all() + return render_template('dashboard.html', assessments=assessments) + +@main.route('/search', methods=['GET', 'POST']) +def search(): + if request.method == 'POST': + query = request.form.get('search_query') + results = chromadb_service.search_assessments(query) + return render_template('search_results.html', results=results) + return render_template('search.html') + +@main.route('/assessment/') +@login_required +def assessment_detail(assessment_id): + assessment = Assessment.query.get_or_404(assessment_id) + return render_template('assessment_detail.html', assessment=assessment) \ No newline at end of file diff --git a/app/services/chromadb_service.py b/app/services/chromadb_service.py new file mode 100644 index 0000000..ac0c337 --- /dev/null +++ b/app/services/chromadb_service.py @@ -0,0 +1,75 @@ +import chromadb +from chromadb.config import Settings +from app.models.assessment import Assessment +from app import db + +class ChromaDBService: + def __init__(self): + self.client = chromadb.PersistentClient(path=".chroma_db") + self.collection = self.client.get_or_create_collection(name="employee_assessments") + + def sync_assessments(self): + assessments = Assessment.query.all() + documents = [] + metadatas = [] + ids = [] + + for assessment in assessments: + text_content = f""" + Employee: {assessment.employee_name} + Position: {assessment.position} + Strengths: {assessment.strengths} + Areas for Improvement: {assessment.areas_for_improvement} + Goals: {assessment.goals} + Comments: {assessment.comments} + """ + + documents.append(text_content) + metadatas.append({ + "assessment_id": str(assessment.id), + "employee_name": assessment.employee_name, + "position": assessment.position, + "department": assessment.department, + "review_period": assessment.review_period, + "performance_rating": assessment.performance_rating + }) + ids.append(str(assessment.id)) + + self.collection.add( + documents=documents, + metadatas=metadatas, + ids=ids + ) + + def search_assessments(self, query, limit=5): + results = self.collection.query( + query_texts=[query], + n_results=limit + ) + return results + + def get_assessment_by_id(self, assessment_id): + return Assessment.query.get(int(assessment_id)) + + def sync_new_assessment(self, assessment): + text_content = f""" + Employee: {assessment.employee_name} + Position: {assessment.position} + Strengths: {assessment.strengths} + Areas for Improvement: {assessment.areas_for_improvement} + Goals: {assessment.goals} + Comments: {assessment.comments} + """ + + self.collection.add( + documents=[text_content], + metadatas=[{ + "assessment_id": str(assessment.id), + "employee_name": assessment.employee_name, + "position": assessment.position, + "department": assessment.department, + "review_period": assessment.review_period, + "performance_rating": assessment.performance_rating + }], + ids=[str(assessment.id)] + ) \ No newline at end of file diff --git a/app/templates/assessment_detail.html b/app/templates/assessment_detail.html new file mode 100644 index 0000000..d15a59f --- /dev/null +++ b/app/templates/assessment_detail.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %}Assessment Detail{% endblock %} + +{% block content %} +
+
+
+

{{ assessment.employee_name }}

+
+
+
{{ assessment.position }}
+

+ Department: {{ assessment.department }}
+ Review Period: {{ assessment.review_period }}
+ Performance Rating: {{ assessment.performance_rating }}/5 +

+
+
Strengths
+

{{ assessment.strengths }}

+
+
+
Areas for Improvement
+

{{ assessment.areas_for_improvement }}

+
+
+
Goals
+

{{ assessment.goals }}

+
+
+
Comments
+

{{ assessment.comments }}

+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/app/templates/dashboard.html b/app/templates/dashboard.html index 06a0093..523b804 100644 --- a/app/templates/dashboard.html +++ b/app/templates/dashboard.html @@ -1,87 +1,46 @@ {% extends "base.html" %} -{% block title %}Dashboard{% endblock %} - {% block content %} -
-
-

Dashboard

- Create New Assessment -
- +
-
-
-
-
Recent Assessments
-

{{ current_user.assessments.count() }}

-

Total assessments created

+
+
+
+

Employee Assessments Dashboard

-
-
-
-
-
Pending Reviews
-

0

-

Assessments awaiting review

-
-
-
-
-
-
-
Completed Reviews
-

0

-

Finalized assessments

-
-
-
-
- -
-
-
Recent Assessments
-
-
- {% if current_user.assessments.count() > 0 %} -
- - - - - - - - - - - - - {% for assessment in current_user.get_assessments().limit(5).all() %} - - - - - - - - +
+
+
+
+ + +
+ +
+
+ +
+ {% for assessment in assessments %} +
+
+
+
{{ assessment.employee_name }}
+

+ Position: {{ assessment.position }}
+ Department: {{ assessment.department }}
+ Review Period: {{ assessment.review_period }}
+ Rating: {{ assessment.performance_rating }}/5 +

+ View Details +
+
+
{% endfor %} -
-
Employee NamePositionDepartmentReview PeriodRatingActions
{{ assessment.employee_name }}{{ assessment.position }}{{ assessment.department }}{{ assessment.review_period }} - - {{ assessment.performance_rating }}/5 - - - View - Edit -
+
+
- {% else %} -

No assessments found. Create your first assessment to get started!

- {% endif %}
-{% endblock %} \ No newline at end of file +{% endblock %} \ No newline at end of file diff --git a/app/templates/search_results.html b/app/templates/search_results.html new file mode 100644 index 0000000..92062b5 --- /dev/null +++ b/app/templates/search_results.html @@ -0,0 +1,35 @@ +{% extends "base.html" %} + +{% block content %} +
+
+
+
+
+

Search Results

+
+
+ {% if results and results['documents'] %} +
+ {% for i in range(results['documents']|length) %} +
+
{{ results['metadatas'][0][i]['employee_name'] }}
+

+ Position: {{ results['metadatas'][0][i]['position'] }}
+ Department: {{ results['metadatas'][0][i]['department'] }}
+ Rating: {{ results['metadatas'][0][i]['performance_rating'] }}/5 +

+ View Details +
+ {% endfor %} +
+ {% else %} +

No results found for your search.

+ {% endif %} +
+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/init_db.py b/init_db.py index d8897ff..678e876 100644 --- a/init_db.py +++ b/init_db.py @@ -1,71 +1,4 @@ -from app import create_app, db -from app.models.user import User -from app.models.assessment import Assessment -from werkzeug.security import generate_password_hash - -def init_db(): - app = create_app() - with app.app_context(): - # Create all tables - db.create_all() - - # Create test user if it doesn't exist - if not User.query.filter_by(username='testuser').first(): - test_user = User( - username='testuser', - email='test@example.com', - password_hash=generate_password_hash('password123', method='pbkdf2:sha256') - ) - db.session.add(test_user) - db.session.commit() - - # Create some test assessments - assessments = [ - Assessment( - employee_name='John Doe', - position='Software Engineer', - department='Engineering', - review_period='Q1 2024', - performance_rating=4, - strengths='Strong problem-solving skills, excellent communication', - areas_for_improvement='Time management, documentation', - goals='Complete advanced certification, mentor junior developers', - comments='Overall excellent performance', - user_id=test_user.id - ), - Assessment( - employee_name='Jane Smith', - position='Product Manager', - department='Product', - review_period='Q1 2024', - performance_rating=5, - strengths='Strategic thinking, leadership', - areas_for_improvement='Technical knowledge', - goals='Launch new feature set, improve team collaboration', - comments='Outstanding leadership and vision', - user_id=test_user.id - ), - Assessment( - employee_name='Mike Johnson', - position='UX Designer', - department='Design', - review_period='Q1 2024', - performance_rating=3, - strengths='Creativity, user empathy', - areas_for_improvement='Meeting deadlines, attention to detail', - goals='Complete design system, improve prototyping skills', - comments='Needs improvement in time management', - user_id=test_user.id - ) - ] - - for assessment in assessments: - db.session.add(assessment) - - db.session.commit() - print('Test data created successfully!') - else: - print('Test user already exists.') +from app.database import init_db if __name__ == '__main__': - init_db() \ No newline at end of file + init_db() \ No newline at end of file diff --git a/initialize_chromadb.py b/initialize_chromadb.py new file mode 100644 index 0000000..4141ea5 --- /dev/null +++ b/initialize_chromadb.py @@ -0,0 +1,21 @@ +from app import create_app +from app.services.chromadb_service import ChromaDBService + +def initialize_chromadb(): + # Create Flask app context + app = create_app() + with app.app_context(): + print("Initializing ChromaDB service...") + + # Initialize ChromaDB service + chromadb_service = ChromaDBService() + + # Sync existing assessments + print("Syncing existing assessments to ChromaDB...") + chromadb_service.sync_assessments() + + print("ChromaDB initialization completed successfully!") + print("You can now use semantic search on your assessments.") + +if __name__ == '__main__': + initialize_chromadb() \ No newline at end of file diff --git a/migrations/README b/migrations/README new file mode 100644 index 0000000..0e04844 --- /dev/null +++ b/migrations/README @@ -0,0 +1 @@ +Single-database configuration for Flask. diff --git a/migrations/alembic.ini b/migrations/alembic.ini new file mode 100644 index 0000000..ec9d45c --- /dev/null +++ b/migrations/alembic.ini @@ -0,0 +1,50 @@ +# A generic, single database configuration. + +[alembic] +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic,flask_migrate + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[logger_flask_migrate] +level = INFO +handlers = +qualname = flask_migrate + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/migrations/env.py b/migrations/env.py new file mode 100644 index 0000000..4c97092 --- /dev/null +++ b/migrations/env.py @@ -0,0 +1,113 @@ +import logging +from logging.config import fileConfig + +from flask import current_app + +from alembic import context + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) +logger = logging.getLogger('alembic.env') + + +def get_engine(): + try: + # this works with Flask-SQLAlchemy<3 and Alchemical + return current_app.extensions['migrate'].db.get_engine() + except (TypeError, AttributeError): + # this works with Flask-SQLAlchemy>=3 + return current_app.extensions['migrate'].db.engine + + +def get_engine_url(): + try: + return get_engine().url.render_as_string(hide_password=False).replace( + '%', '%%') + except AttributeError: + return str(get_engine().url).replace('%', '%%') + + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +config.set_main_option('sqlalchemy.url', get_engine_url()) +target_db = current_app.extensions['migrate'].db + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def get_metadata(): + if hasattr(target_db, 'metadatas'): + return target_db.metadatas[None] + return target_db.metadata + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, target_metadata=get_metadata(), literal_binds=True + ) + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + + # this callback is used to prevent an auto-migration from being generated + # when there are no changes to the schema + # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html + def process_revision_directives(context, revision, directives): + if getattr(config.cmd_opts, 'autogenerate', False): + script = directives[0] + if script.upgrade_ops.is_empty(): + directives[:] = [] + logger.info('No changes in schema detected.') + + conf_args = current_app.extensions['migrate'].configure_args + if conf_args.get("process_revision_directives") is None: + conf_args["process_revision_directives"] = process_revision_directives + + connectable = get_engine() + + with connectable.connect() as connection: + context.configure( + connection=connection, + target_metadata=get_metadata(), + **conf_args + ) + + with context.begin_transaction(): + context.run_migrations() + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/migrations/script.py.mako b/migrations/script.py.mako new file mode 100644 index 0000000..2c01563 --- /dev/null +++ b/migrations/script.py.mako @@ -0,0 +1,24 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/migrations/versions/2c6a43dafa66_initial_migration.py b/migrations/versions/2c6a43dafa66_initial_migration.py new file mode 100644 index 0000000..1aac4ae --- /dev/null +++ b/migrations/versions/2c6a43dafa66_initial_migration.py @@ -0,0 +1,96 @@ +"""Initial migration + +Revision ID: 2c6a43dafa66 +Revises: +Create Date: 2025-03-30 22:48:06.752367 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '2c6a43dafa66' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('assessment', schema=None) as batch_op: + batch_op.add_column(sa.Column('leadership_potential', sa.String(length=20), nullable=True)) + batch_op.add_column(sa.Column('team_size', sa.Integer(), nullable=True)) + batch_op.add_column(sa.Column('strategic_initiatives', sa.Integer(), nullable=True)) + batch_op.add_column(sa.Column('cross_functional_impact', sa.String(length=50), nullable=True)) + batch_op.add_column(sa.Column('technical_depth', sa.String(length=20), nullable=True)) + batch_op.add_column(sa.Column('system_complexity', sa.String(length=20), nullable=True)) + batch_op.add_column(sa.Column('architectural_influence', sa.String(length=50), nullable=True)) + batch_op.add_column(sa.Column('research_impact', sa.String(length=20), nullable=True)) + batch_op.add_column(sa.Column('innovation_score', sa.Float(), nullable=True)) + batch_op.add_column(sa.Column('publication_count', sa.Integer(), nullable=True)) + batch_op.add_column(sa.Column('technical_contribution', sa.String(length=20), nullable=True)) + batch_op.add_column(sa.Column('code_quality', sa.Float(), nullable=True)) + batch_op.add_column(sa.Column('system_impact', sa.String(length=20), nullable=True)) + batch_op.alter_column('review_period', + existing_type=sa.VARCHAR(length=50), + type_=sa.String(length=20), + existing_nullable=False) + batch_op.alter_column('performance_rating', + existing_type=sa.INTEGER(), + type_=sa.Float(), + existing_nullable=False) + batch_op.alter_column('strengths', + existing_type=sa.TEXT(), + nullable=False) + batch_op.alter_column('areas_for_improvement', + existing_type=sa.TEXT(), + nullable=False) + batch_op.alter_column('goals', + existing_type=sa.TEXT(), + nullable=False) + batch_op.alter_column('comments', + existing_type=sa.TEXT(), + nullable=False) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('assessment', schema=None) as batch_op: + batch_op.alter_column('comments', + existing_type=sa.TEXT(), + nullable=True) + batch_op.alter_column('goals', + existing_type=sa.TEXT(), + nullable=True) + batch_op.alter_column('areas_for_improvement', + existing_type=sa.TEXT(), + nullable=True) + batch_op.alter_column('strengths', + existing_type=sa.TEXT(), + nullable=True) + batch_op.alter_column('performance_rating', + existing_type=sa.Float(), + type_=sa.INTEGER(), + existing_nullable=False) + batch_op.alter_column('review_period', + existing_type=sa.String(length=20), + type_=sa.VARCHAR(length=50), + existing_nullable=False) + batch_op.drop_column('system_impact') + batch_op.drop_column('code_quality') + batch_op.drop_column('technical_contribution') + batch_op.drop_column('publication_count') + batch_op.drop_column('innovation_score') + batch_op.drop_column('research_impact') + batch_op.drop_column('architectural_influence') + batch_op.drop_column('system_complexity') + batch_op.drop_column('technical_depth') + batch_op.drop_column('cross_functional_impact') + batch_op.drop_column('strategic_initiatives') + batch_op.drop_column('team_size') + batch_op.drop_column('leadership_potential') + + # ### end Alembic commands ### diff --git a/migrations/versions/e4142ce6f8df_fix_user_relationship.py b/migrations/versions/e4142ce6f8df_fix_user_relationship.py new file mode 100644 index 0000000..00b5785 --- /dev/null +++ b/migrations/versions/e4142ce6f8df_fix_user_relationship.py @@ -0,0 +1,36 @@ +"""Fix user relationship + +Revision ID: e4142ce6f8df +Revises: 2c6a43dafa66 +Create Date: 2025-03-30 22:51:33.212730 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'e4142ce6f8df' +down_revision = '2c6a43dafa66' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('user', schema=None) as batch_op: + batch_op.drop_column('is_active') + batch_op.drop_column('is_admin') + batch_op.drop_column('created_at') + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('user', schema=None) as batch_op: + batch_op.add_column(sa.Column('created_at', sa.DATETIME(), nullable=True)) + batch_op.add_column(sa.Column('is_admin', sa.BOOLEAN(), nullable=True)) + batch_op.add_column(sa.Column('is_active', sa.BOOLEAN(), nullable=True)) + + # ### end Alembic commands ### diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..4722173 --- /dev/null +++ b/output.txt @@ -0,0 +1,1204 @@ +# Start of generated assessment data +assessments = [ + Assessment( + employee_name='John Doe', + position='Senior Software Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.5, + strengths='Strong technical skills, excellent problem-solving abilities, great team player', + areas_for_improvement='Could improve documentation practices', + goals='Lead a major project in Q2, mentor junior developers', + comments='John has consistently delivered high-quality work and shown great leadership potential', + author=test_user + ), + Assessment( + employee_name='Jane Smith', + position='Product Manager', + department='Product', + review_period='Q1 2024', + performance_rating=4.8, + strengths='Exceptional stakeholder management, strong product vision, excellent communication', + areas_for_improvement='Could focus more on technical details', + goals='Launch new product feature in Q2, improve cross-team collaboration', + comments='Jane has been instrumental in driving product success and building strong relationships with stakeholders', + author=test_user + ), + Assessment( + employee_name='Mike Johnson', + position='UI/UX Designer', + department='Design', + review_period='Q1 2024', + performance_rating=4.2, + strengths='Creative design solutions, attention to detail, user-centered approach', + areas_for_improvement='Could improve time management', + goals='Lead design system improvements, mentor junior designers', + comments='Mike consistently delivers visually stunning and user-friendly designs that exceed expectations', + author=test_user + ), + Assessment( + employee_name='Sarah Williams', + position='Data Scientist', + department='Analytics', + review_period='Q1 2024', + performance_rating=4.9, + strengths='Advanced analytical skills, innovative problem-solving, excellent research capabilities', + areas_for_improvement='Could improve presentation skills', + goals='Publish research paper, optimize data processing pipeline', + comments='Sarah\'s work has significantly improved our data-driven decision-making processes', + author=test_user + ), + Assessment( + employee_name='Robert Brown', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.7, + strengths='Infrastructure automation expertise, strong security knowledge, excellent troubleshooting', + areas_for_improvement='Could improve documentation', + goals='Implement CI/CD improvements, enhance security protocols', + comments='Robert has been crucial in maintaining our infrastructure reliability and security', + author=test_user + ), + Assessment( + employee_name='Dakota Smith', + position='UI/UX Designer', + department='Design', + review_period='Q2 2024', + performance_rating=4.3, + strengths='Creative thinking, excellent presentation skills, campaign management', + areas_for_improvement='Needs to increase speed of delivery', + goals='Master financial forecasting model', + comments='Highly effective performer. Dakota\'s work on master financial forecasting model has been impactful. Continue fostering campaign management.', + author=test_user + ), + Assessment( + employee_name='Micah Clark', + position='Sales Operations Analyst', + department='Sales', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Detail-oriented, infrastructure automation, campaign management', + areas_for_improvement='Needs more experience with tool y', + goals='Master financial forecasting model, increase lead generation by w%', + comments='Performance meets expectations. Micah should focus on needs more experience with tool y while continuing to leverage detail-oriented.', + author=test_user + ), + Assessment( + employee_name='Finley Moore', + position='Senior Software Engineer', + department='Engineering', + review_period='Q2 2024', + performance_rating=4.0, + strengths='Talent sourcing', + areas_for_improvement='Needs to build confidence in area z, could engage more in team discussions', + goals='Master financial forecasting model', + comments='Finley is a valuable member of the team, demonstrating strong talent sourcing.', + author=test_user + ), + Assessment( + employee_name='Sophia Johnson', + position='Supply Chain Analyst', + department='Operations', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Collaborates effectively across teams, great team player', + areas_for_improvement='Needs deeper technical understanding in x area, needs to develop cross-functional collaboration', + goals='Lead a major project', + comments='Sophia has shown significant growth. Areas like great team player are strong, while needs to develop cross-functional collaboration is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emerson Baker', + position='Associate Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.9, + strengths='Strong analytical abilities', + areas_for_improvement='None noted this period.', + goals='Achieve x% sales target, lead a major project', + comments='Reliable and consistent performer. Emerson\'s strong analytical abilities makes them a dependable team member. Agreed focus on lead a major project for next period.', + author=test_user + ), + Assessment( + employee_name='Remi Perez', + position='Sales Development Representative', + department='Sales', + review_period='Q3 2023', + performance_rating=3.9, + strengths='Excellent presentation skills, financial modeling', + areas_for_improvement='Needs to build confidence in area z', + goals='Improve team velocity', + comments='Remi has shown significant growth. Areas like excellent presentation skills are strong, while needs to build confidence in area z is an area for development.', + author=test_user + ), + Assessment( + employee_name='Amelia Walker', + position='Operations Manager', + department='Operations', + review_period='Q4 2023', + performance_rating=4.4, + strengths='Proactive problem-solver, deep domain knowledge', + areas_for_improvement='Could enhance reporting clarity', + goals='Improve customer satisfaction scores', + comments='Amelia is a valuable member of the team, demonstrating strong deep domain knowledge.', + author=test_user + ), + Assessment( + employee_name='Lucas Evans', + position='Talent Acquisition Specialist', + department='HR', + review_period='Q1 2024', + performance_rating=3.1, + strengths='Collaborates effectively across teams, strong leadership potential, strong analytical abilities', + areas_for_improvement='Needs more experience with tool y', + goals='Improve design system adoption', + comments='Excellent progress shown by Lucas, particularly in achieving improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Noah Williams', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Code quality focus, proactive problem-solver', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, develop new marketing campaign strategy', + comments='Noah is a valuable member of the team, demonstrating strong proactive problem-solver.', + author=test_user + ), + Assessment( + employee_name='Peyton Taylor', + position='SEO Manager', + department='Marketing', + review_period='Q3 2024', + performance_rating=3.8, + strengths='Efficient time management', + areas_for_improvement='Needs to refine requirements gathering, needs more experience with tool y', + goals='Lead a major project', + comments='A solid performance from Peyton this period. Key contributions include lead a major project.', + author=test_user + ), + Assessment( + employee_name='Benjamin Clark', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2023', + performance_rating=4.2, + strengths='Collaborates effectively across teams, efficient time management', + areas_for_improvement='Needs to improve prioritization skills, needs to delegate more effectively', + goals='Lead a major project, mentor junior developers/colleagues', + comments='Benjamin demonstrates potential. Key strengths include collaborates effectively across teams. Next steps involve focusing on lead a major project and addressing needs to improve prioritization skills.', + author=test_user + ), + Assessment( + employee_name='Isabella King', + position='Product Manager', + department='Product', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Strong analytical abilities', + areas_for_improvement='Needs to improve prioritization skills, could enhance reporting clarity', + goals='Mentor junior developers/colleagues', + comments='A solid performance from Isabella this period. Key contributions include mentor junior developers/colleagues.', + author=test_user + ), + Assessment( + employee_name='Micah Brown', + position='Business Intelligence Analyst', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.8, + strengths='Code quality focus, detail-oriented', + areas_for_improvement='Needs to manage stakeholder expectations better, needs to enhance presentation skills', + goals='Lead a major project', + comments='Micah has shown significant growth. Areas like code quality focus are strong, while needs to manage stakeholder expectations better is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sawyer Turner', + position='Systems Architect', + department='Engineering', + review_period='Q3 2023', + performance_rating=4.5, + strengths='Excellent presentation skills', + areas_for_improvement='Could improve documentation practices', + goals='Refine onboarding process', + comments='Sawyer has shown significant growth. Areas like excellent presentation skills are strong, while could improve documentation practices is an area for development.', + author=test_user + ), + Assessment( + employee_name='Jordan King', + position='Sales Development Representative', + department='Sales', + review_period='Q2 2023', + performance_rating=3.9, + strengths='Stakeholder management', + areas_for_improvement='Could engage more in team discussions, could be more proactive in communication', + goals='Complete certification z', + comments='Reliable and consistent performer. Jordan\'s stakeholder management makes them a dependable team member. Agreed focus on complete certification z for next period.', + author=test_user + ), + Assessment( + employee_name='Dakota Turner', + position='HR Generalist', + department='HR', + review_period='Q2 2024', + performance_rating=4.1, + strengths='Excellent presentation skills', + areas_for_improvement='Needs to develop cross-functional collaboration, needs to delegate more effectively', + goals='Improve design system adoption, streamline reporting process', + comments='A solid performance from Dakota this period. Key contributions include improve design system adoption.', + author=test_user + ), + Assessment( + employee_name='Chris White', + position='Account Executive', + department='Sales', + review_period='Q3 2024', + performance_rating=4.0, + strengths='Manages complexity well, delivers high-quality results consistently', + areas_for_improvement='Needs to delegate more effectively, needs to build confidence in area z', + goals='Master financial forecasting model', + comments='Highly effective performer. Chris\'s work on master financial forecasting model has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Isabella Robinson', + position='Content Strategist', + department='Marketing', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Mentors junior team members, proactive problem-solver', + areas_for_improvement='Could improve attention to detail on routine tasks, could work on meeting deadlines more consistently', + goals='Achieve x% sales target', + comments='Isabella has shown significant growth. Areas like proactive problem-solver are strong, while could improve attention to detail on routine tasks is an area for development.', + author=test_user + ), + Assessment( + employee_name='Cameron Phillips', + position='Operations Manager', + department='Operations', + review_period='Q2 2024', + performance_rating=4.6, + strengths='Strategic thinking, infrastructure automation', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Lead a major project', + comments='Highly effective performer. Cameron\'s work on lead a major project has been impactful. Continue fostering infrastructure automation.', + author=test_user + ), + Assessment( + employee_name='Chris Young', + position='Design Lead', + department='Design', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Positive attitude, excellent communication skills', + areas_for_improvement='None noted this period.', + goals='Refine onboarding process', + comments='Chris is a valuable member of the team, demonstrating strong positive attitude.', + author=test_user + ), + Assessment( + employee_name='Sam Roberts', + position='Sales Operations Analyst', + department='Sales', + review_period='Q1 2024', + performance_rating=3.9, + strengths='Code quality focus, excellent presentation skills, quick learner', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, master financial forecasting model', + comments='Excellent progress shown by Sam, particularly in achieving increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Alexander Thomas', + position='Compensation Analyst', + department='HR', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Customer-focused', + areas_for_improvement='Needs deeper technical understanding in x area, could improve time management', + goals='Lead a major project, take on more leadership responsibilities', + comments='Highly effective performer. Alexander\'s work on take on more leadership responsibilities has been impactful. Continue fostering customer-focused.', + author=test_user + ), + Assessment( + employee_name='Harper Johnson', + position='QA Engineer', + department='Engineering', + review_period='Q2 2023', + performance_rating=4.0, + strengths='Manages complexity well', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Gain expertise in technology x', + comments='Highly effective performer. Harper\'s work on gain expertise in technology x has been impactful. Continue fostering manages complexity well.', + author=test_user + ), + Assessment( + employee_name='Avery Rodriguez', + position='Accountant', + department='Finance', + review_period='Q1 2023', + performance_rating=3.4, + strengths='Code quality focus', + areas_for_improvement='Needs to build confidence in area z', + goals='Enhance security protocols, implement ci/cd improvements', + comments='Highly effective performer. Avery\'s work on enhance security protocols has been impactful. Continue fostering code quality focus.', + author=test_user + ), + Assessment( + employee_name='Lucas Scott', + position='Social Media Coordinator', + department='Marketing', + review_period='Q3 2023', + performance_rating=5.0, + strengths='Creative thinking', + areas_for_improvement='Could be more proactive in communication', + goals='Improve team velocity', + comments='Highly effective performer. Lucas\'s work on improve team velocity has been impactful. Continue fostering creative thinking.', + author=test_user + ), + Assessment( + employee_name='Dakota Lee', + position='Finance Manager', + department='Finance', + review_period='Q4 2023', + performance_rating=3.3, + strengths='Talent sourcing', + areas_for_improvement='Could enhance reporting clarity', + goals='Launch new product feature', + comments='A solid performance from Dakota this period. Key contributions include launch new product feature.', + author=test_user + ), + Assessment( + employee_name='Chris Campbell', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q3 2024', + performance_rating=4.2, + strengths='Strong leadership potential', + areas_for_improvement='Needs to enhance presentation skills, could be more proactive in communication', + goals='Master financial forecasting model', + comments='Performance meets expectations. Chris should focus on needs to enhance presentation skills while continuing to leverage strong leadership potential.', + author=test_user + ), + Assessment( + employee_name='Henry Smith', + position='Customer Success Manager', + department='Sales', + review_period='Q2 2024', + performance_rating=4.4, + strengths='Positive attitude, takes initiative, talent sourcing', + areas_for_improvement='Needs to delegate more effectively', + goals='Increase lead generation by w%, launch new product feature', + comments='Henry consistently exceeds expectations. Strengths in takes initiative and talent sourcing are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Taylor Adams', + position='UI/UX Designer', + department='Design', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Positive attitude, deep domain knowledge', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Take on more leadership responsibilities', + comments='Reliable and consistent performer. Taylor\'s deep domain knowledge makes them a dependable team member. Agreed focus on take on more leadership responsibilities for next period.', + author=test_user + ), + Assessment( + employee_name='Skyler Young', + position='Systems Architect', + department='Engineering', + review_period='Q4 2023', + performance_rating=3.9, + strengths='Strong analytical abilities', + areas_for_improvement='Could focus more on strategic goals, needs to improve prioritization skills', + goals='Improve customer satisfaction scores', + comments='Performance meets expectations. Skyler should focus on needs to improve prioritization skills while continuing to leverage strong analytical abilities.', + author=test_user + ), + Assessment( + employee_name='Sawyer Rodriguez', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.6, + strengths='Deep domain knowledge, stakeholder management', + areas_for_improvement='Could benefit from assertiveness training, could improve attention to detail on routine tasks', + goals='Publish research/blog post', + comments='Good contributions this quarter. Sawyer is working towards publish research/blog post and improving could benefit from assertiveness training.', + author=test_user + ), + Assessment( + employee_name='Blake Martinez', + position='Content Strategist', + department='Marketing', + review_period='Q4 2023', + performance_rating=4.0, + strengths='Data-driven decision maker, great team player', + areas_for_improvement='Needs to improve prioritization skills, needs to develop cross-functional collaboration', + goals='Optimize data processing pipeline', + comments='Blake demonstrates potential. Key strengths include great team player. Next steps involve focusing on optimize data processing pipeline and addressing needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Sam Johnson', + position='Logistics Manager', + department='Operations', + review_period='Q2 2023', + performance_rating=4.0, + strengths='Excellent presentation skills, manages complexity well', + areas_for_improvement='Could benefit from assertiveness training, needs to delegate more effectively', + goals='Develop a new training module', + comments='A solid performance from Sam this period. Key contributions include develop a new training module.', + author=test_user + ), + Assessment( + employee_name='Benjamin Thomas', + position='Systems Architect', + department='Engineering', + review_period='Q3 2024', + performance_rating=4.6, + strengths='Highly adaptable, delivers high-quality results consistently', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Lead a major project', + comments='Performance meets expectations. Benjamin should focus on ongoing development while continuing to leverage highly adaptable.', + author=test_user + ), + Assessment( + employee_name='Drew Anderson', + position='Associate Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.1, + strengths='Positive attitude, campaign management', + areas_for_improvement='Could work on meeting deadlines more consistently, could improve time management', + goals='Optimize data processing pipeline, refine onboarding process', + comments='Good contributions this quarter. Drew is working towards optimize data processing pipeline and improving could improve time management.', + author=test_user + ), + Assessment( + employee_name='Olivia King', + position='HR Generalist', + department='HR', + review_period='Q1 2024', + performance_rating=4.6, + strengths='Code quality focus, strong analytical abilities, detail-oriented', + areas_for_improvement='Needs more experience with tool y', + goals='Master financial forecasting model, improve design system adoption', + comments='Reliable and consistent performer. Olivia\'s code quality focus makes them a dependable team member. Agreed focus on improve design system adoption for next period.', + author=test_user + ), + Assessment( + employee_name='Casey Smith', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Manages complexity well, negotiation skills, delivers high-quality results consistently', + areas_for_improvement='Could improve documentation practices', + goals='Gain expertise in technology x, streamline reporting process', + comments='Reliable and consistent performer. Casey\'s delivers high-quality results consistently makes them a dependable team member. Agreed focus on gain expertise in technology x for next period.', + author=test_user + ), + Assessment( + employee_name='Micah Jackson', + position='Data Engineer', + department='Analytics', + review_period='Q2 2024', + performance_rating=3.9, + strengths='User empathy, strategic thinking, negotiation skills', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Publish research/blog post', + comments='Performance meets expectations. Micah should focus on needs deeper technical understanding in x area while continuing to leverage user empathy.', + author=test_user + ), + Assessment( + employee_name='Emma Clark', + position='Social Media Coordinator', + department='Marketing', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Customer-focused, creative thinking, stakeholder management', + areas_for_improvement='None noted this period.', + goals='Improve design system adoption, streamline reporting process', + comments='Emma demonstrates potential. Key strengths include customer-focused. Next steps involve focusing on streamline reporting process and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Drew Wilson', + position='Controller', + department='Finance', + review_period='Q3 2024', + performance_rating=4.7, + strengths='Highly adaptable, excellent presentation skills, data-driven decision maker', + areas_for_improvement='Needs to manage stakeholder expectations better', + goals='Improve team velocity', + comments='Performance meets expectations. Drew should focus on needs to manage stakeholder expectations better while continuing to leverage highly adaptable.', + author=test_user + ), + Assessment( + employee_name='Ava Harris', + position='SEO Manager', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.8, + strengths='Strong leadership potential, negotiation skills, user empathy', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Implement ci/cd improvements, launch new product feature', + comments='Reliable and consistent performer. Ava\'s negotiation skills makes them a dependable team member. Agreed focus on implement ci/cd improvements for next period.', + author=test_user + ), + Assessment( + employee_name='Liam Anderson', + position='Graphic Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.3, + strengths='Infrastructure automation, quick learner, strong analytical abilities', + areas_for_improvement='Could improve attention to detail on routine tasks', + goals='Reduce operational costs by y%, develop a new training module', + comments='Good contributions this quarter. Liam is working towards reduce operational costs by y% and improving could improve attention to detail on routine tasks.', + author=test_user + ), + Assessment( + employee_name='Ava Hernandez', + position='Accountant', + department='Finance', + review_period='Q2 2023', + performance_rating=4.4, + strengths='Customer-focused, stakeholder management, strategic thinking', + areas_for_improvement='Could engage more in team discussions, needs to manage stakeholder expectations better', + goals='Improve cross-team collaboration, implement ci/cd improvements', + comments='Ava is a valuable member of the team, demonstrating strong strategic thinking.', + author=test_user + ), + Assessment( + employee_name='Sawyer Ramirez', + position='Account Executive', + department='Sales', + review_period='Q2 2023', + performance_rating=3.2, + strengths='Strong leadership potential', + areas_for_improvement='Needs to improve prioritization skills', + goals='Launch new product feature', + comments='Excellent progress shown by Sawyer, particularly in achieving launch new product feature.', + author=test_user + ), + Assessment( + employee_name='Amelia Parker', + position='Accountant', + department='Finance', + review_period='Q4 2024', + performance_rating=4.3, + strengths='Takes initiative, data-driven decision maker, deep domain knowledge', + areas_for_improvement='Could improve time management', + goals='Refine onboarding process', + comments='A solid performance from Amelia this period. Key contributions include refine onboarding process.', + author=test_user + ), + Assessment( + employee_name='Lucas Smith', + position='Interaction Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.9, + strengths='Highly adaptable, data-driven decision maker, quick learner', + areas_for_improvement='None noted this period.', + goals='Enhance security protocols', + comments='Lucas demonstrates potential. Key strengths include highly adaptable. Next steps involve focusing on enhance security protocols and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Oliver Hernandez', + position='Software Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=4.2, + strengths='Data-driven decision maker, collaborates effectively across teams, deep domain knowledge', + areas_for_improvement='Needs to refine requirements gathering', + goals='Complete certification z', + comments='A solid performance from Oliver this period. Key contributions include complete certification z.', + author=test_user + ), + Assessment( + employee_name='Charlotte Campbell', + position='QA Engineer', + department='Engineering', + review_period='Q4 2023', + performance_rating=4.9, + strengths='Talent sourcing', + areas_for_improvement='None noted this period.', + goals='Publish research/blog post', + comments='Charlotte consistently exceeds expectations. Strengths in talent sourcing and talent sourcing are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Finley Garcia', + position='QA Engineer', + department='Engineering', + review_period='Q2 2024', + performance_rating=3.9, + strengths='Delivers high-quality results consistently', + areas_for_improvement='Needs to improve prioritization skills, needs to develop cross-functional collaboration', + goals='Achieve x% sales target', + comments='Performance meets expectations. Finley should focus on needs to develop cross-functional collaboration while continuing to leverage delivers high-quality results consistently.', + author=test_user + ), + Assessment( + employee_name='James Clark', + position='UI/UX Designer', + department='Design', + review_period='Q4 2024', + performance_rating=4.2, + strengths='Data-driven decision maker, process optimization', + areas_for_improvement='Needs more experience with tool y', + goals='Increase lead generation by w%, optimize data processing pipeline', + comments='A solid performance from James this period. Key contributions include increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Avery King', + position='Content Strategist', + department='Marketing', + review_period='Q3 2023', + performance_rating=3.9, + strengths='Strategic thinking, financial modeling', + areas_for_improvement='Could enhance reporting clarity', + goals='Enhance security protocols', + comments='Avery consistently exceeds expectations. Strengths in financial modeling and strategic thinking are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Riley Thomas', + position='Sales Operations Analyst', + department='Sales', + review_period='Q4 2024', + performance_rating=4.4, + strengths='Security best practices, takes initiative', + areas_for_improvement='Could improve documentation practices, could improve attention to detail on routine tasks', + goals='Develop new marketing campaign strategy, launch new product feature', + comments='Highly effective performer. Riley\'s work on develop new marketing campaign strategy has been impactful. Continue fostering security best practices.', + author=test_user + ), + Assessment( + employee_name='Benjamin Parker', + position='Senior Designer', + department='Design', + review_period='Q2 2023', + performance_rating=4.1, + strengths='Highly adaptable', + areas_for_improvement='Could improve documentation practices, could enhance reporting clarity', + goals='Improve customer satisfaction scores', + comments='Reliable and consistent performer. Benjamin\'s highly adaptable makes them a dependable team member. Agreed focus on improve customer satisfaction scores for next period.', + author=test_user + ), + Assessment( + employee_name='Isabella Johnson', + position='Data Engineer', + department='Analytics', + review_period='Q3 2024', + performance_rating=3.2, + strengths='Excellent communication skills, financial modeling', + areas_for_improvement='Could engage more in team discussions, could improve handling of constructive feedback', + goals='Gain expertise in technology x, refine onboarding process', + comments='Highly effective performer. Isabella\'s work on refine onboarding process has been impactful. Continue fostering excellent communication skills.', + author=test_user + ), + Assessment( + employee_name='Liam Baker', + position='Data Engineer', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.5, + strengths='Strong leadership potential', + areas_for_improvement='Needs to manage stakeholder expectations better', + goals='Mentor junior developers/colleagues', + comments='Liam consistently exceeds expectations. Strengths in strong leadership potential and strong leadership potential are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Morgan Baker', + position='Product Manager', + department='Product', + review_period='Q2 2024', + performance_rating=4.3, + strengths='Highly adaptable', + areas_for_improvement='Needs to build confidence in area z', + goals='Increase lead generation by w%, achieve x% sales target', + comments='Morgan demonstrates potential. Key strengths include highly adaptable. Next steps involve focusing on increase lead generation by w% and addressing needs to build confidence in area z.', + author=test_user + ), + Assessment( + employee_name='Henry Evans', + position='Operations Coordinator', + department='Operations', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Talent sourcing', + areas_for_improvement='Could focus more on strategic goals, needs to enhance presentation skills', + goals='Gain expertise in technology x', + comments='Henry is a valuable member of the team, demonstrating strong talent sourcing.', + author=test_user + ), + Assessment( + employee_name='Evelyn Phillips', + position='DevOps Engineer', + department='Engineering', + review_period='Q1 2024', + performance_rating=3.9, + strengths='Creative thinking', + areas_for_improvement='Needs to refine requirements gathering, could improve time management', + goals='Increase lead generation by w%, reduce operational costs by y%', + comments='Evelyn is a valuable member of the team, demonstrating strong creative thinking.', + author=test_user + ), + Assessment( + employee_name='Drew Gonzalez', + position='Content Strategist', + department='Marketing', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Campaign management', + areas_for_improvement='None noted this period.', + goals='Develop new marketing campaign strategy', + comments='Drew has shown significant growth. Areas like campaign management are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Skyler Thompson', + position='Social Media Coordinator', + department='Marketing', + review_period='Q4 2024', + performance_rating=3.3, + strengths='Mentors junior team members', + areas_for_improvement='Needs more experience with tool y, needs to delegate more effectively', + goals='Improve customer satisfaction scores', + comments='A solid performance from Skyler this period. Key contributions include improve customer satisfaction scores.', + author=test_user + ), + Assessment( + employee_name='Morgan Nelson', + position='Supply Chain Analyst', + department='Operations', + review_period='Q4 2023', + performance_rating=4.3, + strengths='Strategic thinking, manages complexity well', + areas_for_improvement='Could focus more on strategic goals', + goals='Improve customer satisfaction scores, lead a major project', + comments='Good contributions this quarter. Morgan is working towards improve customer satisfaction scores and improving could focus more on strategic goals.', + author=test_user + ), + Assessment( + employee_name='Benjamin Evans', + position='Supply Chain Analyst', + department='Operations', + review_period='Q2 2024', + performance_rating=4.9, + strengths='Mentors junior team members, proactive problem-solver', + areas_for_improvement='None noted this period.', + goals='Streamline reporting process, take on more leadership responsibilities', + comments='Benjamin has shown significant growth. Areas like proactive problem-solver are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sam Taylor', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q4 2024', + performance_rating=4.0, + strengths='Excellent communication skills', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Improve design system adoption', + comments='Sam has shown significant growth. Areas like excellent communication skills are strong, while could work on meeting deadlines more consistently is an area for development.', + author=test_user + ), + Assessment( + employee_name='Sophia Baker', + position='QA Engineer', + department='Engineering', + review_period='Q1 2023', + performance_rating=3.9, + strengths='Creative thinking', + areas_for_improvement='Could improve attention to detail on routine tasks', + goals='Enhance security protocols, present at a conference', + comments='Excellent progress shown by Sophia, particularly in achieving present at a conference.', + author=test_user + ), + Assessment( + employee_name='Noah Thomas', + position='Talent Acquisition Specialist', + department='HR', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Mentors junior team members, code quality focus', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Achieve x% sales target', + comments='Noah is a valuable member of the team, demonstrating strong mentors junior team members.', + author=test_user + ), + Assessment( + employee_name='Elijah Anderson', + position='Graphic Designer', + department='Design', + review_period='Q1 2024', + performance_rating=3.3, + strengths='Deep domain knowledge, infrastructure automation', + areas_for_improvement='Could engage more in team discussions, needs more experience with tool y', + goals='Achieve x% sales target, streamline reporting process', + comments='Elijah is a valuable member of the team, demonstrating strong infrastructure automation.', + author=test_user + ), + Assessment( + employee_name='Charlie Lewis', + position='Data Analyst', + department='Analytics', + review_period='Q1 2023', + performance_rating=4.3, + strengths='Delivers high-quality results consistently, manages complexity well, security best practices', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Refine onboarding process', + comments='Charlie has shown significant growth. Areas like delivers high-quality results consistently are strong, while needs deeper technical understanding in x area is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emma Parker', + position='Interaction Designer', + department='Design', + review_period='Q3 2023', + performance_rating=3.5, + strengths='Strong leadership potential, highly adaptable, strong technical aptitude', + areas_for_improvement='Needs to manage stakeholder expectations better, needs to develop cross-functional collaboration', + goals='Develop new marketing campaign strategy, increase lead generation by w%', + comments='Good contributions this quarter. Emma is working towards develop new marketing campaign strategy and improving needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Harper Roberts', + position='Design Lead', + department='Design', + review_period='Q3 2023', + performance_rating=4.6, + strengths='Process optimization, mentors junior team members', + areas_for_improvement='None noted this period.', + goals='Improve cross-team collaboration, achieve x% sales target', + comments='Harper has shown significant growth. Areas like mentors junior team members are strong, while ongoing development is an area for development.', + author=test_user + ), + Assessment( + employee_name='Emma Lopez', + position='Associate Product Manager', + department='Product', + review_period='Q4 2023', + performance_rating=4.4, + strengths='Highly adaptable, mentors junior team members, proactive problem-solver', + areas_for_improvement='Needs to refine requirements gathering, needs to enhance presentation skills', + goals='Master financial forecasting model', + comments='Excellent progress shown by Emma, particularly in achieving master financial forecasting model.', + author=test_user + ), + Assessment( + employee_name='Taylor Carter', + position='Product Manager', + department='Product', + review_period='Q4 2024', + performance_rating=4.1, + strengths='User empathy, delivers high-quality results consistently', + areas_for_improvement='Needs to refine requirements gathering', + goals='Lead a major project', + comments='Reliable and consistent performer. Taylor\'s delivers high-quality results consistently makes them a dependable team member. Agreed focus on lead a major project for next period.', + author=test_user + ), + Assessment( + employee_name='Noah Moore', + position='Account Executive', + department='Sales', + review_period='Q3 2024', + performance_rating=4.4, + strengths='Highly adaptable', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Present at a conference', + comments='A solid performance from Noah this period. Key contributions include present at a conference.', + author=test_user + ), + Assessment( + employee_name='Jamie Martinez', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Quick learner, collaborates effectively across teams, strong technical aptitude', + areas_for_improvement='Could work on meeting deadlines more consistently', + goals='Improve customer satisfaction scores, implement ci/cd improvements', + comments='Highly effective performer. Jamie\'s work on improve customer satisfaction scores has been impactful. Continue fostering quick learner.', + author=test_user + ), + Assessment( + employee_name='Charlie Turner', + position='Compensation Analyst', + department='HR', + review_period='Q4 2023', + performance_rating=4.7, + strengths='Mentors junior team members', + areas_for_improvement='Needs to enhance presentation skills', + goals='Launch new product feature, develop new marketing campaign strategy', + comments='Performance meets expectations. Charlie should focus on needs to enhance presentation skills while continuing to leverage mentors junior team members.', + author=test_user + ), + Assessment( + employee_name='Olivia Jones', + position='Operations Coordinator', + department='Operations', + review_period='Q3 2024', + performance_rating=4.7, + strengths='Great team player, strategic thinking, detail-oriented', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Complete certification z', + comments='A solid performance from Olivia this period. Key contributions include complete certification z.', + author=test_user + ), + Assessment( + employee_name='Lucas Davis', + position='Tech Lead', + department='Engineering', + review_period='Q4 2023', + performance_rating=4.0, + strengths='Delivers high-quality results consistently, negotiation skills, strategic thinking', + areas_for_improvement='Needs to refine requirements gathering, needs to develop cross-functional collaboration', + goals='Lead a major project, develop new marketing campaign strategy', + comments='Good contributions this quarter. Lucas is working towards develop new marketing campaign strategy and improving needs to refine requirements gathering.', + author=test_user + ), + Assessment( + employee_name='Reese Walker', + position='Finance Manager', + department='Finance', + review_period='Q2 2023', + performance_rating=5.0, + strengths='Infrastructure automation, strong leadership potential, stakeholder management', + areas_for_improvement='Could focus more on strategic goals', + goals='Mentor junior developers/colleagues, develop new marketing campaign strategy', + comments='Reese consistently exceeds expectations. Strengths in strong leadership potential and stakeholder management are particularly notable.', + author=test_user + ), + Assessment( + employee_name='Mia Nelson', + position='HR Manager', + department='HR', + review_period='Q4 2024', + performance_rating=4.6, + strengths='Data-driven decision maker', + areas_for_improvement='Focus remains on leveraging strengths.', + goals='Enhance security protocols', + comments='Mia demonstrates potential. Key strengths include data-driven decision maker. Next steps involve focusing on enhance security protocols and addressing ongoing development.', + author=test_user + ), + Assessment( + employee_name='Benjamin Martinez', + position='Interaction Designer', + department='Design', + review_period='Q3 2024', + performance_rating=4.2, + strengths='User empathy', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Reduce operational costs by y%, increase lead generation by w%', + comments='A solid performance from Benjamin this period. Key contributions include increase lead generation by w%.', + author=test_user + ), + Assessment( + employee_name='Reese Parker', + position='Senior Designer', + department='Design', + review_period='Q2 2023', + performance_rating=4.7, + strengths='Process optimization, strategic thinking', + areas_for_improvement='Needs deeper technical understanding in x area', + goals='Gain expertise in technology x, refine onboarding process', + comments='Performance meets expectations. Reese should focus on needs deeper technical understanding in x area while continuing to leverage strategic thinking.', + author=test_user + ), + Assessment( + employee_name='Alexander Lewis', + position='Finance Manager', + department='Finance', + review_period='Q4 2024', + performance_rating=3.2, + strengths='Great team player, strong analytical abilities', + areas_for_improvement='Needs to increase speed of delivery', + goals='Streamline reporting process, achieve x% sales target', + comments='Reliable and consistent performer. Alexander\'s great team player makes them a dependable team member. Agreed focus on achieve x% sales target for next period.', + author=test_user + ), + Assessment( + employee_name='Kai Robinson', + position='Senior Financial Analyst', + department='Finance', + review_period='Q1 2024', + performance_rating=3.6, + strengths='Creative thinking', + areas_for_improvement='Could engage more in team discussions, needs to develop cross-functional collaboration', + goals='Develop new marketing campaign strategy, mentor junior developers/colleagues', + comments='Kai is a valuable member of the team, demonstrating strong creative thinking.', + author=test_user + ), + Assessment( + employee_name='Cameron Allen', + position='Customer Success Manager', + department='Sales', + review_period='Q4 2024', + performance_rating=3.8, + strengths='Strong technical aptitude', + areas_for_improvement='Could improve attention to detail on routine tasks, could work on meeting deadlines more consistently', + goals='Enhance security protocols', + comments='Cameron is a valuable member of the team, demonstrating strong strong technical aptitude.', + author=test_user + ), + Assessment( + employee_name='Riley Scott', + position='Operations Manager', + department='Operations', + review_period='Q2 2023', + performance_rating=4.3, + strengths='Strong leadership potential, excellent communication skills', + areas_for_improvement='Could improve documentation practices', + goals='Lead a major project', + comments='Highly effective performer. Riley\'s work on lead a major project has been impactful. Continue fostering strong leadership potential.', + author=test_user + ), + Assessment( + employee_name='Finley Johnson', + position='Associate Product Manager', + department='Product', + review_period='Q2 2023', + performance_rating=4.1, + strengths='Campaign management, financial modeling', + areas_for_improvement='Could improve documentation practices, needs to build confidence in area z', + goals='Reduce operational costs by y%', + comments='Highly effective performer. Finley\'s work on reduce operational costs by y% has been impactful. Continue fostering financial modeling.', + author=test_user + ), + Assessment( + employee_name='William Mitchell', + position='Data Engineer', + department='Analytics', + review_period='Q1 2023', + performance_rating=4.0, + strengths='Positive attitude, excellent communication skills', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Enhance security protocols', + comments='Reliable and consistent performer. William\'s excellent communication skills makes them a dependable team member. Agreed focus on enhance security protocols for next period.', + author=test_user + ), + Assessment( + employee_name='Logan Thompson', + position='Graphic Designer', + department='Design', + review_period='Q3 2023', + performance_rating=4.2, + strengths='Infrastructure automation, negotiation skills, strong technical aptitude', + areas_for_improvement='Needs to develop cross-functional collaboration', + goals='Lead a major project, optimize data processing pipeline', + comments='Good contributions this quarter. Logan is working towards lead a major project and improving needs to develop cross-functional collaboration.', + author=test_user + ), + Assessment( + employee_name='Casey Baker', + position='UI/UX Designer', + department='Design', + review_period='Q4 2024', + performance_rating=4.5, + strengths='Campaign management, highly adaptable', + areas_for_improvement='Could be more proactive in communication', + goals='Optimize data processing pipeline', + comments='Highly effective performer. Casey\'s work on optimize data processing pipeline has been impactful. Continue fostering campaign management.', + author=test_user + ), + Assessment( + employee_name='William Turner', + position='Recruiter', + department='HR', + review_period='Q3 2024', + performance_rating=3.3, + strengths='Negotiation skills, data-driven decision maker, creative thinking', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Master financial forecasting model, complete certification z', + comments='Good contributions this quarter. William is working towards complete certification z and improving could work on meeting deadlines more consistently.', + author=test_user + ), + Assessment( + employee_name='Casey Thompson', + position='Digital Marketing Manager', + department='Marketing', + review_period='Q3 2024', + performance_rating=3.8, + strengths='Infrastructure automation', + areas_for_improvement='Could be more proactive in communication', + goals='Enhance security protocols', + comments='Good contributions this quarter. Casey is working towards enhance security protocols and improving could be more proactive in communication.', + author=test_user + ), + Assessment( + employee_name='Cameron Baker', + position='Logistics Manager', + department='Operations', + review_period='Q3 2023', + performance_rating=4.9, + strengths='Excellent presentation skills, excellent communication skills', + areas_for_improvement='Could benefit from assertiveness training, could work on meeting deadlines more consistently', + goals='Lead a major project, present at a conference', + comments='A solid performance from Cameron this period. Key contributions include lead a major project.', + author=test_user + ), + Assessment( + employee_name='Jordan Campbell', + position='Compensation Analyst', + department='HR', + review_period='Q4 2024', + performance_rating=4.8, + strengths='Code quality focus, highly adaptable, campaign management', + areas_for_improvement='Needs to delegate more effectively', + goals='Achieve x% sales target, complete certification z', + comments='Performance meets expectations. Jordan should focus on needs to delegate more effectively while continuing to leverage campaign management.', + author=test_user + ), + Assessment( + employee_name='Rowan Nelson', + position='Machine Learning Engineer', + department='Analytics', + review_period='Q3 2023', + performance_rating=3.2, + strengths='Stakeholder management, data-driven decision maker', + areas_for_improvement='Could improve handling of constructive feedback', + goals='Reduce operational costs by y%', + comments='Rowan demonstrates potential. Key strengths include stakeholder management. Next steps involve focusing on reduce operational costs by y% and addressing could improve handling of constructive feedback.', + author=test_user + ), + Assessment( + employee_name='Charlotte Lewis', + position='Content Strategist', + department='Marketing', + review_period='Q1 2024', + performance_rating=3.5, + strengths='Excellent presentation skills, financial modeling, process optimization', + areas_for_improvement='Needs to build confidence in area z', + goals='Develop new marketing campaign strategy', + comments='Charlotte demonstrates potential. Key strengths include excellent presentation skills. Next steps involve focusing on develop new marketing campaign strategy and addressing needs to build confidence in area z.', + author=test_user + ), + Assessment( + employee_name='Devin Thomas', + position='UX Researcher', + department='Product', + review_period='Q1 2023', + performance_rating=4.7, + strengths='Deep domain knowledge, takes initiative, proactive problem-solver', + areas_for_improvement='Could work on meeting deadlines more consistently, could benefit from assertiveness training', + goals='Publish research/blog post', + comments='Highly effective performer. Devin\'s work on publish research/blog post has been impactful. Continue fostering proactive problem-solver.', + author=test_user + ) +] +# Total assessments generated: 100 diff --git a/requirements.txt b/requirements.txt index 780e1b1..fa79327 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,3 +11,4 @@ WTForms==3.1.2 Flask-Migrate==4.0.5 pytest==8.0.2 coverage==7.4.3 +chromadb==0.4.17