Skip to content

Commit d3b2c70

Browse files
committed
fix(seed):improved the file
1 parent b72560d commit d3b2c70

1 file changed

Lines changed: 91 additions & 62 deletions

File tree

lib/seed.ts

Lines changed: 91 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
categories,
66
categoryOptionValues,
77
projectOptions,
8-
teamMembers,
98
} from "@/lib/schema";
109

1110
async function seed() {
@@ -24,7 +23,6 @@ async function seed() {
2423
.values([
2524
{ category: "Project Type" },
2625
{ category: "Department" },
27-
{ category: "Programming Language" },
2826
{ category: "Year of Submission" },
2927
{ category: "Domain" },
3028
])
@@ -39,10 +37,10 @@ async function seed() {
3937
.insert(categoryOptionValues)
4038
.values([
4139
// Project Type
42-
{ optionName: "Web Development", categoryId: catId("Project Type") },
43-
{ optionName: "Android Development", categoryId: catId("Project Type") },
44-
{ optionName: "IoT", categoryId: catId("Project Type") },
45-
{ optionName: "AI/ML", categoryId: catId("Project Type") },
40+
{ optionName: "Research Project", categoryId: catId("Project Type") },
41+
{ optionName: "Personal Project", categoryId: catId("Project Type") },
42+
{ optionName: "Others ", categoryId: catId("Project Type") },
43+
4644

4745
// Departments
4846
{ optionName: "CSE", categoryId: catId("Department") },
@@ -52,89 +50,120 @@ async function seed() {
5250
{ optionName: "IT", categoryId: catId("Department") },
5351
{ optionName: "EEE", categoryId: catId("Department") },
5452

55-
// Programming Languages
56-
{ optionName: "Python", categoryId: catId("Programming Language") },
57-
{ optionName: "Java", categoryId: catId("Programming Language") },
58-
{ optionName: "C++", categoryId: catId("Programming Language") },
59-
{ optionName: "JavaScript", categoryId: catId("Programming Language") },
60-
{ optionName: "Kotlin", categoryId: catId("Programming Language") },
53+
6154

6255
// Year of Submission
6356
{ optionName: "2025", categoryId: catId("Year of Submission") },
57+
{ optionName: "2024", categoryId: catId("Year of Submission") },
58+
{ optionName: "2023", categoryId: catId("Year of Submission") },
59+
60+
61+
6462

6563
// Domain
66-
{ optionName: "Education", categoryId: catId("Domain") },
67-
{ optionName: "Agriculture", categoryId: catId("Domain") },
68-
{ optionName: "Campus", categoryId: catId("Domain") },
64+
{ optionName: "Web Development", categoryId: catId("Domain") },
65+
{ optionName: "Mobile App Development", categoryId: catId("Domain") },
66+
{ optionName: "AI/ML", categoryId: catId("Domain") },
67+
{ optionName: "Data Science / Analytics", categoryId: catId("Domain") },
68+
{ optionName: "IoT / Embedded Systems", categoryId: catId("Domain") },
69+
{ optionName: "Cloud Computing", categoryId: catId("Domain") },
70+
{ optionName: "Cybersecurity", categoryId: catId("Domain") },
71+
{ optionName: "Blockchain", categoryId: catId("Domain") },
72+
{ optionName: "AR/VR", categoryId: catId("Domain") },
73+
{ optionName: "Robotics", categoryId: catId("Domain") },
74+
{ optionName: "Networking / Communication", categoryId: catId("Domain") },
75+
{ optionName: "Game Development", categoryId: catId("Domain") },
76+
{ optionName: "Database Systems", categoryId: catId("Domain") },
77+
{ optionName: "Simulation & Modeling", categoryId: catId("Domain") },
78+
{ optionName: "Control Systems", categoryId: catId("Domain") },
79+
{ optionName: "Mechanical Design / CAD", categoryId: catId("Domain") },
80+
{ optionName: "Civil Structural Design", categoryId: catId("Domain") },
81+
{ optionName: "Renewable Energy / Electrical Systems", categoryId: catId("Domain") },
82+
{ optionName: "Biotechnology / Bioinformatics", categoryId: catId("Domain") },
83+
{ optionName: "Chemical Process Design", categoryId: catId("Domain") },
84+
{ optionName: "Power Systems", categoryId: catId("Domain") },
85+
{ optionName: "Electrical Machines", categoryId: catId("Domain") },
86+
{ optionName: "Control Systems", categoryId: catId("Domain") },
87+
{ optionName: "Renewable Energy Systems", categoryId: catId("Domain") },
88+
{ optionName: "Power Electronics", categoryId: catId("Domain") },
89+
{ optionName: "Instrumentation & Measurements", categoryId: catId("Domain") },
90+
{ optionName: "Smart Grids", categoryId: catId("Domain") },
91+
{ optionName: "Embedded Systems in EEE", categoryId: catId("Domain") },
92+
{ optionName: "Electric Vehicle Systems", categoryId: catId("Domain") },
93+
{ optionName: "Other EEE Domain", categoryId: catId("Domain") },
94+
{ optionName: "Other CSE Domain", categoryId: catId("Domain") },
95+
{ optionName: "Other MECH Domain", categoryId: catId("Domain") },
96+
{ optionName: "Other ECE Domain", categoryId: catId("Domain") },
97+
{ optionName: "Other CIVIL Domain", categoryId: catId("Domain") },
98+
{ optionName: "Other IT Domain", categoryId: catId("Domain") },
99+
{ optionName: "Other EEE Domain", categoryId: catId("Domain") },
69100
])
70101
.returning({ id: categoryOptionValues.optionId, name: categoryOptionValues.optionName });
71102
console.log("✅ Category option values inserted");
72103

73104
const getOptionId = (name: string) => insertedOptions.find(o => o.name === name)!.id;
74105

75106
// ---------------- Insert Projects ----------------
76-
const insertedProjects = await db
77-
.insert(projects)
78-
.values([
79-
{
80-
projectName: "AI Chatbot for University",
81-
projectDescription: "A chatbot that answers student queries about courses and schedules.",
82-
projectLink: "https://github.com/example/chatbot",
83-
createdByUid: "student1",
84-
customDomain: "chatbot.gecianhub.com",
85-
contactEmail: "chatbot@example.com",
86-
contactLinkedIn: "https://linkedin.com/in/team-chatbot",
87-
contactInstagram: "@chatbot_team",
88-
contactWhatsApp: "+911234567890",
89-
},
90-
{
91-
projectName: "Smart Irrigation System",
92-
projectDescription: "IoT-based irrigation system to optimize water usage.",
93-
projectLink: "https://github.com/example/irrigation",
94-
createdByUid: "student2",
95-
customDomain: null,
96-
contactEmail: "irrigation@example.com",
97-
contactLinkedIn: "https://linkedin.com/in/team-irrigation",
98-
contactInstagram: "@irrigation_project",
99-
contactWhatsApp: "+919876543210",
100-
},
101-
{
102-
projectName: "Campus Navigation App",
103-
projectDescription: "Mobile app to help new students navigate campus buildings.",
104-
projectLink: "https://github.com/example/campus-nav",
105-
createdByUid: "student3",
106-
customDomain: "campusnav.gecianhub.com",
107-
contactEmail: "navapp@example.com",
108-
contactLinkedIn: "https://linkedin.com/in/campusnav",
109-
contactInstagram: "@campus_nav",
110-
contactWhatsApp: "+917700112233",
111-
},
112-
])
113-
.returning({ id: projects.projectId, name: projects.projectName });
107+
const insertedProjects = await db
108+
.insert(projects)
109+
.values([
110+
{
111+
projectName: "AI Chatbot for University",
112+
projectDescription: "A chatbot that answers student queries about courses and schedules. Needs help with improving NLP accuracy, adding more course data, and integration with the university portal.",
113+
projectLink: "https://github.com/example/chatbot",
114+
createdByUid: "student1",
115+
customDomain: "chatbot.gecianhub.com",
116+
contactEmail: "chatbot@example.com",
117+
contactLinkedIn: "https://linkedin.com/in/team-chatbot",
118+
contactInstagram: "@chatbot_team",
119+
contactWhatsApp: "+911234567890",
120+
},
121+
{
122+
projectName: "Smart Irrigation System",
123+
projectDescription: "IoT-based irrigation system to optimize water usage. Needs help with sensor calibration, mobile app connectivity, and cloud data analytics for water optimization.",
124+
projectLink: "https://github.com/example/irrigation",
125+
createdByUid: "student2",
126+
customDomain: null,
127+
contactEmail: "irrigation@example.com",
128+
contactLinkedIn: "https://linkedin.com/in/team-irrigation",
129+
contactInstagram: "@irrigation_project",
130+
contactWhatsApp: "+919876543210",
131+
},
132+
{
133+
projectName: "Campus Navigation App",
134+
projectDescription: "Mobile app to help new students navigate campus buildings. Needs help with map integration, real-time location tracking, and accessibility features for visually impaired students.",
135+
projectLink: "https://github.com/example/campus-nav",
136+
createdByUid: "student3",
137+
customDomain: "campusnav.gecianhub.com",
138+
contactEmail: "navapp@example.com",
139+
contactLinkedIn: "https://linkedin.com/in/campusnav",
140+
contactInstagram: "@campus_nav",
141+
contactWhatsApp: "+917700112233",
142+
},
143+
])
144+
.returning({ id: projects.projectId, name: projects.projectName });
145+
114146
console.log("✅ Projects inserted");
115147

116148
// ---------------- Link Projects with Options ----------------
117149
const projectOptionData = [
118150
// AI Chatbot
119-
{ projectId: insertedProjects[0].id, categoryId: catId("Project Type"), optionId: getOptionId("AI/ML") },
151+
{ projectId: insertedProjects[0].id, categoryId: catId("Project Type"), optionId: getOptionId("Personal Project") },
120152
{ projectId: insertedProjects[0].id, categoryId: catId("Department"), optionId: getOptionId("CSE") },
121-
{ projectId: insertedProjects[0].id, categoryId: catId("Programming Language"), optionId: getOptionId("Python") },
122153
{ projectId: insertedProjects[0].id, categoryId: catId("Year of Submission"), optionId: getOptionId("2025") },
123-
{ projectId: insertedProjects[0].id, categoryId: catId("Domain"), optionId: getOptionId("Education") },
154+
{ projectId: insertedProjects[0].id, categoryId: catId("Domain"), optionId: getOptionId("AI/ML") },
124155

125156
// Smart Irrigation
126-
{ projectId: insertedProjects[1].id, categoryId: catId("Project Type"), optionId: getOptionId("IoT") },
157+
{ projectId: insertedProjects[1].id, categoryId: catId("Project Type"), optionId: getOptionId("Personal Project") },
127158
{ projectId: insertedProjects[1].id, categoryId: catId("Department"), optionId: getOptionId("MECH") },
128-
{ projectId: insertedProjects[1].id, categoryId: catId("Programming Language"), optionId: getOptionId("Java") },
129159
{ projectId: insertedProjects[1].id, categoryId: catId("Year of Submission"), optionId: getOptionId("2025") },
130-
{ projectId: insertedProjects[1].id, categoryId: catId("Domain"), optionId: getOptionId("Agriculture") },
160+
{ projectId: insertedProjects[1].id, categoryId: catId("Domain"), optionId: getOptionId("IoT / Embedded Systems") },
131161

132162
// Campus Navigation
133-
{ projectId: insertedProjects[2].id, categoryId: catId("Project Type"), optionId: getOptionId("Android Development") },
163+
{ projectId: insertedProjects[2].id, categoryId: catId("Project Type"), optionId: getOptionId("Personal Project") },
134164
{ projectId: insertedProjects[2].id, categoryId: catId("Department"), optionId: getOptionId("CSE") },
135-
{ projectId: insertedProjects[2].id, categoryId: catId("Programming Language"), optionId: getOptionId("Kotlin") },
136165
{ projectId: insertedProjects[2].id, categoryId: catId("Year of Submission"), optionId: getOptionId("2025") },
137-
{ projectId: insertedProjects[2].id, categoryId: catId("Domain"), optionId: getOptionId("Campus") },
166+
{ projectId: insertedProjects[2].id, categoryId: catId("Domain"), optionId: getOptionId("Web Development") },
138167
];
139168

140169
await db.insert(projectOptions).values(projectOptionData);

0 commit comments

Comments
 (0)