Many an update!
This commit is contained in:
parent
85195d6c7a
commit
d588c49946
35 changed files with 3528 additions and 1142 deletions
|
|
@ -1,187 +1,220 @@
|
|||
import { connectDB } from '../server/utils/mongoose.js'
|
||||
import Event from '../server/models/event.js'
|
||||
import { connectDB } from "../server/utils/mongoose.js";
|
||||
import Event from "../server/models/event.js";
|
||||
|
||||
async function seedSeriesEvents() {
|
||||
try {
|
||||
await connectDB()
|
||||
console.log('Connected to database')
|
||||
await connectDB();
|
||||
console.log("Connected to database");
|
||||
|
||||
// Generate future dates relative to today
|
||||
const today = new Date();
|
||||
|
||||
// Workshop Series: "Cooperative Game Development Fundamentals"
|
||||
const workshopSeries = [
|
||||
{
|
||||
title: 'Cooperative Business Models in Game Development',
|
||||
slug: 'coop-business-models-workshop',
|
||||
tagline: 'Learn the foundations of cooperative business structures',
|
||||
description: 'An introductory workshop covering the basic principles and structures of worker cooperatives in the game development industry.',
|
||||
content: 'This workshop will cover the legal structures, governance models, and financial frameworks that make cooperative game studios successful.',
|
||||
startDate: new Date('2024-10-15T19:00:00.000Z'),
|
||||
endDate: new Date('2024-10-15T21:00:00.000Z'),
|
||||
eventType: 'workshop',
|
||||
location: '#workshop-fundamentals',
|
||||
title: "Cooperative Business Models in Game Development",
|
||||
slug: "coop-business-models-workshop",
|
||||
tagline: "Learn the foundations of cooperative business structures",
|
||||
description:
|
||||
"An introductory workshop covering the basic principles and structures of worker cooperatives in the game development industry.",
|
||||
content:
|
||||
"This workshop will cover the legal structures, governance models, and financial frameworks that make cooperative game studios successful.",
|
||||
startDate: new Date(
|
||||
today.getFullYear(),
|
||||
today.getMonth(),
|
||||
today.getDate() + 15,
|
||||
19,
|
||||
0,
|
||||
),
|
||||
endDate: new Date(
|
||||
today.getFullYear(),
|
||||
today.getMonth(),
|
||||
today.getDate() + 15,
|
||||
21,
|
||||
0,
|
||||
),
|
||||
eventType: "workshop",
|
||||
location: "#workshop-fundamentals",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: true,
|
||||
maxAttendees: 50,
|
||||
series: {
|
||||
id: 'coop-dev-fundamentals',
|
||||
title: 'Cooperative Game Development Fundamentals',
|
||||
description: 'A comprehensive workshop series covering the essentials of building and running cooperative game studios',
|
||||
type: 'workshop_series',
|
||||
id: "coop-dev-fundamentals",
|
||||
title: "Cooperative Game Development Fundamentals",
|
||||
description:
|
||||
"A comprehensive workshop series covering the essentials of building and running cooperative game studios",
|
||||
type: "workshop_series",
|
||||
position: 1,
|
||||
totalEvents: 4,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
createdBy: "admin",
|
||||
},
|
||||
{
|
||||
title: 'Democratic Decision Making in Creative Projects',
|
||||
slug: 'democratic-decision-making-workshop',
|
||||
tagline: 'Practical tools for collaborative project management',
|
||||
description: 'Learn how to implement democratic decision-making processes that work for creative teams and game development projects.',
|
||||
content: 'This workshop focuses on consensus building, conflict resolution, and collaborative project management techniques.',
|
||||
startDate: new Date('2024-10-22T19:00:00.000Z'),
|
||||
endDate: new Date('2024-10-22T21:00:00.000Z'),
|
||||
eventType: 'workshop',
|
||||
location: '#workshop-fundamentals',
|
||||
title: "Democratic Decision Making in Creative Projects",
|
||||
slug: "democratic-decision-making-workshop",
|
||||
tagline: "Practical tools for collaborative project management",
|
||||
description:
|
||||
"Learn how to implement democratic decision-making processes that work for creative teams and game development projects.",
|
||||
content:
|
||||
"This workshop focuses on consensus building, conflict resolution, and collaborative project management techniques.",
|
||||
startDate: new Date("2024-10-22T19:00:00.000Z"),
|
||||
endDate: new Date("2024-10-22T21:00:00.000Z"),
|
||||
eventType: "workshop",
|
||||
location: "#workshop-fundamentals",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: true,
|
||||
maxAttendees: 50,
|
||||
series: {
|
||||
id: 'coop-dev-fundamentals',
|
||||
title: 'Cooperative Game Development Fundamentals',
|
||||
description: 'A comprehensive workshop series covering the essentials of building and running cooperative game studios',
|
||||
type: 'workshop_series',
|
||||
id: "coop-dev-fundamentals",
|
||||
title: "Cooperative Game Development Fundamentals",
|
||||
description:
|
||||
"A comprehensive workshop series covering the essentials of building and running cooperative game studios",
|
||||
type: "workshop_series",
|
||||
position: 2,
|
||||
totalEvents: 4,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
createdBy: "admin",
|
||||
},
|
||||
{
|
||||
title: 'Funding and Financial Models for Co-ops',
|
||||
slug: 'coop-funding-workshop',
|
||||
tagline: 'Sustainable financing for cooperative studios',
|
||||
description: 'Explore funding options, revenue sharing models, and financial management strategies specific to cooperative game studios.',
|
||||
content: 'This workshop covers grant opportunities, crowdfunding strategies, and internal financial management for worker cooperatives.',
|
||||
startDate: new Date('2024-10-29T19:00:00.000Z'),
|
||||
endDate: new Date('2024-10-29T21:00:00.000Z'),
|
||||
eventType: 'workshop',
|
||||
location: '#workshop-fundamentals',
|
||||
title: "Funding and Financial Models for Co-ops",
|
||||
slug: "coop-funding-workshop",
|
||||
tagline: "Sustainable financing for cooperative studios",
|
||||
description:
|
||||
"Explore funding options, revenue sharing models, and financial management strategies specific to cooperative game studios.",
|
||||
content:
|
||||
"This workshop covers grant opportunities, crowdfunding strategies, and internal financial management for worker cooperatives.",
|
||||
startDate: new Date("2024-10-29T19:00:00.000Z"),
|
||||
endDate: new Date("2024-10-29T21:00:00.000Z"),
|
||||
eventType: "workshop",
|
||||
location: "#workshop-fundamentals",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: true,
|
||||
maxAttendees: 50,
|
||||
series: {
|
||||
id: 'coop-dev-fundamentals',
|
||||
title: 'Cooperative Game Development Fundamentals',
|
||||
description: 'A comprehensive workshop series covering the essentials of building and running cooperative game studios',
|
||||
type: 'workshop_series',
|
||||
id: "coop-dev-fundamentals",
|
||||
title: "Cooperative Game Development Fundamentals",
|
||||
description:
|
||||
"A comprehensive workshop series covering the essentials of building and running cooperative game studios",
|
||||
type: "workshop_series",
|
||||
position: 3,
|
||||
totalEvents: 4,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
createdBy: "admin",
|
||||
},
|
||||
{
|
||||
title: 'Building Your Cooperative Studio',
|
||||
slug: 'building-coop-studio-workshop',
|
||||
tagline: 'From concept to reality: launching your co-op',
|
||||
description: 'A practical guide to forming a cooperative game studio, covering legal formation, member recruitment, and launch strategies.',
|
||||
content: 'This final workshop in the series provides a step-by-step guide to actually forming and launching a cooperative game studio.',
|
||||
startDate: new Date('2024-11-05T19:00:00.000Z'),
|
||||
endDate: new Date('2024-11-05T21:00:00.000Z'),
|
||||
eventType: 'workshop',
|
||||
location: '#workshop-fundamentals',
|
||||
title: "Building Your Cooperative Studio",
|
||||
slug: "building-coop-studio-workshop",
|
||||
tagline: "From concept to reality: launching your co-op",
|
||||
description:
|
||||
"A practical guide to forming a cooperative game studio, covering legal formation, member recruitment, and launch strategies.",
|
||||
content:
|
||||
"This final workshop in the series provides a step-by-step guide to actually forming and launching a cooperative game studio.",
|
||||
startDate: new Date("2024-11-05T19:00:00.000Z"),
|
||||
endDate: new Date("2024-11-05T21:00:00.000Z"),
|
||||
eventType: "workshop",
|
||||
location: "#workshop-fundamentals",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: true,
|
||||
maxAttendees: 50,
|
||||
series: {
|
||||
id: 'coop-dev-fundamentals',
|
||||
title: 'Cooperative Game Development Fundamentals',
|
||||
description: 'A comprehensive workshop series covering the essentials of building and running cooperative game studios',
|
||||
type: 'workshop_series',
|
||||
id: "coop-dev-fundamentals",
|
||||
title: "Cooperative Game Development Fundamentals",
|
||||
description:
|
||||
"A comprehensive workshop series covering the essentials of building and running cooperative game studios",
|
||||
type: "workshop_series",
|
||||
position: 4,
|
||||
totalEvents: 4,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
}
|
||||
]
|
||||
createdBy: "admin",
|
||||
},
|
||||
];
|
||||
|
||||
// Monthly Community Meetup Series
|
||||
const meetupSeries = [
|
||||
{
|
||||
title: 'October Community Meetup',
|
||||
slug: 'october-community-meetup',
|
||||
tagline: 'Monthly gathering for cooperative game developers',
|
||||
description: 'Join fellow cooperative game developers for informal networking, project sharing, and community building.',
|
||||
content: 'Our monthly community meetup provides a relaxed environment to share your projects, get feedback, and connect with other developers interested in cooperative models.',
|
||||
startDate: new Date('2024-10-12T18:00:00.000Z'),
|
||||
endDate: new Date('2024-10-12T20:00:00.000Z'),
|
||||
eventType: 'community',
|
||||
location: '#community-meetup',
|
||||
title: "October Community Meetup",
|
||||
slug: "october-community-meetup",
|
||||
tagline: "Monthly gathering for cooperative game developers",
|
||||
description:
|
||||
"Join fellow cooperative game developers for informal networking, project sharing, and community building.",
|
||||
content:
|
||||
"Our monthly community meetup provides a relaxed environment to share your projects, get feedback, and connect with other developers interested in cooperative models.",
|
||||
startDate: new Date("2024-10-12T18:00:00.000Z"),
|
||||
endDate: new Date("2024-10-12T20:00:00.000Z"),
|
||||
eventType: "community",
|
||||
location: "#community-meetup",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: false,
|
||||
series: {
|
||||
id: 'monthly-meetups',
|
||||
title: 'Monthly Community Meetups',
|
||||
description: 'Regular monthly gatherings for the cooperative game development community',
|
||||
type: 'recurring_meetup',
|
||||
id: "monthly-meetups",
|
||||
title: "Monthly Community Meetups",
|
||||
description:
|
||||
"Regular monthly gatherings for the cooperative game development community",
|
||||
type: "recurring_meetup",
|
||||
position: 1,
|
||||
totalEvents: 12,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
createdBy: "admin",
|
||||
},
|
||||
{
|
||||
title: 'November Community Meetup',
|
||||
slug: 'november-community-meetup',
|
||||
tagline: 'Monthly gathering for cooperative game developers',
|
||||
description: 'Join fellow cooperative game developers for informal networking, project sharing, and community building.',
|
||||
content: 'Our monthly community meetup provides a relaxed environment to share your projects, get feedback, and connect with other developers interested in cooperative models.',
|
||||
startDate: new Date('2024-11-09T18:00:00.000Z'),
|
||||
endDate: new Date('2024-11-09T20:00:00.000Z'),
|
||||
eventType: 'community',
|
||||
location: '#community-meetup',
|
||||
title: "November Community Meetup",
|
||||
slug: "november-community-meetup",
|
||||
tagline: "Monthly gathering for cooperative game developers",
|
||||
description:
|
||||
"Join fellow cooperative game developers for informal networking, project sharing, and community building.",
|
||||
content:
|
||||
"Our monthly community meetup provides a relaxed environment to share your projects, get feedback, and connect with other developers interested in cooperative models.",
|
||||
startDate: new Date("2024-11-09T18:00:00.000Z"),
|
||||
endDate: new Date("2024-11-09T20:00:00.000Z"),
|
||||
eventType: "community",
|
||||
location: "#community-meetup",
|
||||
isOnline: true,
|
||||
membersOnly: false,
|
||||
registrationRequired: false,
|
||||
series: {
|
||||
id: 'monthly-meetups',
|
||||
title: 'Monthly Community Meetups',
|
||||
description: 'Regular monthly gatherings for the cooperative game development community',
|
||||
type: 'recurring_meetup',
|
||||
id: "monthly-meetups",
|
||||
title: "Monthly Community Meetups",
|
||||
description:
|
||||
"Regular monthly gatherings for the cooperative game development community",
|
||||
type: "recurring_meetup",
|
||||
position: 2,
|
||||
totalEvents: 12,
|
||||
isSeriesEvent: true
|
||||
isSeriesEvent: true,
|
||||
},
|
||||
createdBy: 'admin'
|
||||
}
|
||||
]
|
||||
createdBy: "admin",
|
||||
},
|
||||
];
|
||||
|
||||
// Insert all series events
|
||||
const allSeriesEvents = [...workshopSeries, ...meetupSeries]
|
||||
|
||||
const allSeriesEvents = [...workshopSeries, ...meetupSeries];
|
||||
|
||||
for (const eventData of allSeriesEvents) {
|
||||
const existingEvent = await Event.findOne({ slug: eventData.slug })
|
||||
const existingEvent = await Event.findOne({ slug: eventData.slug });
|
||||
if (!existingEvent) {
|
||||
const event = new Event(eventData)
|
||||
await event.save()
|
||||
console.log(`Created series event: ${event.title}`)
|
||||
const event = new Event(eventData);
|
||||
await event.save();
|
||||
console.log(`Created series event: ${event.title}`);
|
||||
} else {
|
||||
console.log(`Series event already exists: ${eventData.title}`)
|
||||
console.log(`Series event already exists: ${eventData.title}`);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Series events seeding completed!')
|
||||
process.exit(0)
|
||||
console.log("Series events seeding completed!");
|
||||
process.exit(0);
|
||||
} catch (error) {
|
||||
console.error('Error seeding series events:', error)
|
||||
process.exit(1)
|
||||
console.error("Error seeding series events:", error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
seedSeriesEvents()
|
||||
seedSeriesEvents();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue