Compare commits
No commits in common. "master" and "ai-dev" have entirely different histories.
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
node_modules/
|
/backend/node_modules
|
||||||
*/node_modules/
|
/frontend/node_modules
|
||||||
*/build/
|
|
||||||
|
|||||||
@ -43,6 +43,26 @@ const AnalyticsData = [
|
|||||||
|
|
||||||
instructor_performance: 90,
|
instructor_performance: 90,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
student_engagement: 70,
|
||||||
|
|
||||||
|
completion_rate: 75,
|
||||||
|
|
||||||
|
instructor_performance: 78,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
student_engagement: 88,
|
||||||
|
|
||||||
|
completion_rate: 85,
|
||||||
|
|
||||||
|
instructor_performance: 87,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const CoursesData = [
|
const CoursesData = [
|
||||||
@ -76,6 +96,27 @@ const CoursesData = [
|
|||||||
|
|
||||||
// type code here for "relation_many" field
|
// type code here for "relation_many" field
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: 'Business Management',
|
||||||
|
|
||||||
|
description:
|
||||||
|
'Understand the fundamentals of managing a business effectively.',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: 'Environmental Science',
|
||||||
|
|
||||||
|
description: 'Study the impact of human activities on the environment.',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const DiscussionBoardsData = [
|
const DiscussionBoardsData = [
|
||||||
@ -102,9 +143,33 @@ const DiscussionBoardsData = [
|
|||||||
|
|
||||||
// type code here for "relation_many" field
|
// type code here for "relation_many" field
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
topic: 'Business Strategies',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
topic: 'Environmental Impact',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const EnrollmentsData = [
|
const EnrollmentsData = [
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
payment_status: 'Completed',
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
// type code here for "relation_one" field
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
@ -118,7 +183,15 @@ const EnrollmentsData = [
|
|||||||
|
|
||||||
// type code here for "relation_one" field
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
payment_status: 'Pending',
|
payment_status: 'Failed',
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
|
payment_status: 'Failed',
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -154,6 +227,22 @@ const InstructorsData = [
|
|||||||
|
|
||||||
// type code here for "relation_many" field
|
// type code here for "relation_many" field
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
first_name: 'Michael',
|
||||||
|
|
||||||
|
last_name: 'Johnson',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
first_name: 'Sarah',
|
||||||
|
|
||||||
|
last_name: 'Lee',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const StudentsData = [
|
const StudentsData = [
|
||||||
@ -180,6 +269,22 @@ const StudentsData = [
|
|||||||
|
|
||||||
// type code here for "relation_many" field
|
// type code here for "relation_many" field
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
first_name: 'David',
|
||||||
|
|
||||||
|
last_name: 'Williams',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
first_name: 'Eve',
|
||||||
|
|
||||||
|
last_name: 'Davis',
|
||||||
|
|
||||||
|
// type code here for "relation_many" field
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
// Similar logic for "relation_many"
|
// Similar logic for "relation_many"
|
||||||
@ -217,6 +322,28 @@ async function associateAnalyticWithCourse() {
|
|||||||
if (Analytic2?.setCourse) {
|
if (Analytic2?.setCourse) {
|
||||||
await Analytic2.setCourse(relatedCourse2);
|
await Analytic2.setCourse(relatedCourse2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const relatedCourse3 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const Analytic3 = await Analytics.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 3,
|
||||||
|
});
|
||||||
|
if (Analytic3?.setCourse) {
|
||||||
|
await Analytic3.setCourse(relatedCourse3);
|
||||||
|
}
|
||||||
|
|
||||||
|
const relatedCourse4 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const Analytic4 = await Analytics.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 4,
|
||||||
|
});
|
||||||
|
if (Analytic4?.setCourse) {
|
||||||
|
await Analytic4.setCourse(relatedCourse4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Similar logic for "relation_many"
|
// Similar logic for "relation_many"
|
||||||
@ -256,6 +383,28 @@ async function associateDiscussionBoardWithCourse() {
|
|||||||
if (DiscussionBoard2?.setCourse) {
|
if (DiscussionBoard2?.setCourse) {
|
||||||
await DiscussionBoard2.setCourse(relatedCourse2);
|
await DiscussionBoard2.setCourse(relatedCourse2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const relatedCourse3 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const DiscussionBoard3 = await DiscussionBoards.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 3,
|
||||||
|
});
|
||||||
|
if (DiscussionBoard3?.setCourse) {
|
||||||
|
await DiscussionBoard3.setCourse(relatedCourse3);
|
||||||
|
}
|
||||||
|
|
||||||
|
const relatedCourse4 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const DiscussionBoard4 = await DiscussionBoards.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 4,
|
||||||
|
});
|
||||||
|
if (DiscussionBoard4?.setCourse) {
|
||||||
|
await DiscussionBoard4.setCourse(relatedCourse4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Similar logic for "relation_many"
|
// Similar logic for "relation_many"
|
||||||
@ -293,6 +442,28 @@ async function associateEnrollmentWithStudent() {
|
|||||||
if (Enrollment2?.setStudent) {
|
if (Enrollment2?.setStudent) {
|
||||||
await Enrollment2.setStudent(relatedStudent2);
|
await Enrollment2.setStudent(relatedStudent2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const relatedStudent3 = await Students.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Students.count())),
|
||||||
|
});
|
||||||
|
const Enrollment3 = await Enrollments.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 3,
|
||||||
|
});
|
||||||
|
if (Enrollment3?.setStudent) {
|
||||||
|
await Enrollment3.setStudent(relatedStudent3);
|
||||||
|
}
|
||||||
|
|
||||||
|
const relatedStudent4 = await Students.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Students.count())),
|
||||||
|
});
|
||||||
|
const Enrollment4 = await Enrollments.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 4,
|
||||||
|
});
|
||||||
|
if (Enrollment4?.setStudent) {
|
||||||
|
await Enrollment4.setStudent(relatedStudent4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function associateEnrollmentWithCourse() {
|
async function associateEnrollmentWithCourse() {
|
||||||
@ -328,6 +499,28 @@ async function associateEnrollmentWithCourse() {
|
|||||||
if (Enrollment2?.setCourse) {
|
if (Enrollment2?.setCourse) {
|
||||||
await Enrollment2.setCourse(relatedCourse2);
|
await Enrollment2.setCourse(relatedCourse2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const relatedCourse3 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const Enrollment3 = await Enrollments.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 3,
|
||||||
|
});
|
||||||
|
if (Enrollment3?.setCourse) {
|
||||||
|
await Enrollment3.setCourse(relatedCourse3);
|
||||||
|
}
|
||||||
|
|
||||||
|
const relatedCourse4 = await Courses.findOne({
|
||||||
|
offset: Math.floor(Math.random() * (await Courses.count())),
|
||||||
|
});
|
||||||
|
const Enrollment4 = await Enrollments.findOne({
|
||||||
|
order: [['id', 'ASC']],
|
||||||
|
offset: 4,
|
||||||
|
});
|
||||||
|
if (Enrollment4?.setCourse) {
|
||||||
|
await Enrollment4.setCourse(relatedCourse4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Similar logic for "relation_many"
|
// Similar logic for "relation_many"
|
||||||
|
|||||||
@ -1,14 +0,0 @@
|
|||||||
steps:
|
|
||||||
- name: 'gcr.io/cloud-builders/docker'
|
|
||||||
entrypoint: 'bash'
|
|
||||||
args: ['-c', 'docker pull gcr.io/fldemo2/test4-29853-dev:latest || exit 0']
|
|
||||||
- name: 'gcr.io/cloud-builders/docker'
|
|
||||||
args: [
|
|
||||||
'build',
|
|
||||||
'-t', 'gcr.io/fldemo2/test4-29853-dev:latest',
|
|
||||||
'--file', 'Dockerfile.dev',
|
|
||||||
'--cache-from', 'gcr.io/fldemo2/test4-29853-dev:latest',
|
|
||||||
'.'
|
|
||||||
]
|
|
||||||
images: ['gcr.io/fldemo2/test4-29853-dev:latest']
|
|
||||||
logsBucket: 'gs://fldemo2-cloudbuild-logs'
|
|
||||||
1
docker/.gitignore
vendored
Normal file
1
docker/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
data/
|
||||||
33
frontend/.gitignore
vendored
Normal file
33
frontend/.gitignore
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# dependencies
|
||||||
|
/node_modules
|
||||||
|
/.pnp
|
||||||
|
.pnp.js
|
||||||
|
|
||||||
|
# testing
|
||||||
|
/coverage
|
||||||
|
|
||||||
|
# next.js
|
||||||
|
/.next/
|
||||||
|
/out/
|
||||||
|
|
||||||
|
# production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# misc
|
||||||
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# debug
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# local.js env files
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
# vercel
|
||||||
|
.vercel
|
||||||
|
/.idea/
|
||||||
2
frontend/next-env.d.ts
vendored
2
frontend/next-env.d.ts
vendored
@ -2,4 +2,4 @@
|
|||||||
/// <reference types="next/image-types/global" />
|
/// <reference types="next/image-types/global" />
|
||||||
|
|
||||||
// NOTE: This file should not be edited
|
// NOTE: This file should not be edited
|
||||||
// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.
|
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
||||||
|
|||||||
@ -18,7 +18,7 @@ export default function WebSiteFooter({
|
|||||||
const borders = useAppSelector((state) => state.style.borders);
|
const borders = useAppSelector((state) => state.style.borders);
|
||||||
const websiteHeder = useAppSelector((state) => state.style.websiteHeder);
|
const websiteHeder = useAppSelector((state) => state.style.websiteHeder);
|
||||||
|
|
||||||
const style = FooterStyle.WITH_PROJECT_NAME;
|
const style = FooterStyle.WITH_PAGES;
|
||||||
|
|
||||||
const design = FooterDesigns.DESIGN_DIVERSITY;
|
const design = FooterDesigns.DESIGN_DIVERSITY;
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ export default function WebSiteHeader({
|
|||||||
const websiteHeder = useAppSelector((state) => state.style.websiteHeder);
|
const websiteHeder = useAppSelector((state) => state.style.websiteHeder);
|
||||||
const borders = useAppSelector((state) => state.style.borders);
|
const borders = useAppSelector((state) => state.style.borders);
|
||||||
|
|
||||||
const style = HeaderStyle.PAGES_RIGHT;
|
const style = HeaderStyle.PAGES_LEFT;
|
||||||
|
|
||||||
const design = HeaderDesigns.DESIGN_DIVERSITY;
|
const design = HeaderDesigns.DESIGN_DIVERSITY;
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -151,7 +151,7 @@ export default function WebSite() {
|
|||||||
<FeaturesSection
|
<FeaturesSection
|
||||||
projectName={'test4'}
|
projectName={'test4'}
|
||||||
image={['Dashboard showcasing key features']}
|
image={['Dashboard showcasing key features']}
|
||||||
withBg={1}
|
withBg={0}
|
||||||
features={features_points}
|
features={features_points}
|
||||||
mainText={`Explore ${projectName} Services and Features`}
|
mainText={`Explore ${projectName} Services and Features`}
|
||||||
subTitle={`Discover the innovative features of ${projectName} designed to enhance your online education experience. From course management to analytics, we have you covered.`}
|
subTitle={`Discover the innovative features of ${projectName} designed to enhance your online education experience. From course management to analytics, we have you covered.`}
|
||||||
|
|||||||
@ -145,7 +145,7 @@ export default function WebSite() {
|
|||||||
<FeaturesSection
|
<FeaturesSection
|
||||||
projectName={'test4'}
|
projectName={'test4'}
|
||||||
image={['Interactive dashboard with analytics']}
|
image={['Interactive dashboard with analytics']}
|
||||||
withBg={0}
|
withBg={1}
|
||||||
features={features_points}
|
features={features_points}
|
||||||
mainText={`Innovative Features of ${projectName}`}
|
mainText={`Innovative Features of ${projectName}`}
|
||||||
subTitle={`Explore the cutting-edge features that make ${projectName} a leader in online education. Designed to enhance learning and streamline management.`}
|
subTitle={`Explore the cutting-edge features that make ${projectName} a leader in online education. Designed to enhance learning and streamline management.`}
|
||||||
|
|||||||
@ -139,7 +139,7 @@ export default function WebSite() {
|
|||||||
<FeaturesSection
|
<FeaturesSection
|
||||||
projectName={'test4'}
|
projectName={'test4'}
|
||||||
image={['Interactive dashboard with analytics']}
|
image={['Interactive dashboard with analytics']}
|
||||||
withBg={0}
|
withBg={1}
|
||||||
features={features_points}
|
features={features_points}
|
||||||
mainText={`Explore Key Features of ${projectName}`}
|
mainText={`Explore Key Features of ${projectName}`}
|
||||||
subTitle={`Unlock the full potential of online education with ${projectName}. Discover features designed to enhance learning and streamline management.`}
|
subTitle={`Unlock the full potential of online education with ${projectName}. Discover features designed to enhance learning and streamline management.`}
|
||||||
|
|||||||
@ -151,7 +151,7 @@ export default function WebSite() {
|
|||||||
<FeaturesSection
|
<FeaturesSection
|
||||||
projectName={'test4'}
|
projectName={'test4'}
|
||||||
image={['Dashboard showcasing key features']}
|
image={['Dashboard showcasing key features']}
|
||||||
withBg={1}
|
withBg={0}
|
||||||
features={features_points}
|
features={features_points}
|
||||||
mainText={`Explore ${projectName} Services and Features`}
|
mainText={`Explore ${projectName} Services and Features`}
|
||||||
subTitle={`Discover the innovative features of ${projectName} designed to enhance your online education experience. From course management to analytics, we have you covered.`}
|
subTitle={`Discover the innovative features of ${projectName} designed to enhance your online education experience. From course management to analytics, we have you covered.`}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user