Compare commits
No commits in common. "ai-dev" and "master" have entirely different histories.
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
/backend/node_modules
|
node_modules/
|
||||||
/frontend/node_modules
|
*/node_modules/
|
||||||
|
*/build/
|
||||||
|
|||||||
@ -43,26 +43,6 @@ 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 = [
|
||||||
@ -96,27 +76,6 @@ 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 = [
|
||||||
@ -143,33 +102,9 @@ 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
|
||||||
|
|
||||||
@ -183,15 +118,7 @@ const EnrollmentsData = [
|
|||||||
|
|
||||||
// type code here for "relation_one" field
|
// type code here for "relation_one" field
|
||||||
|
|
||||||
payment_status: 'Failed',
|
payment_status: 'Pending',
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
// type code here for "relation_one" field
|
|
||||||
|
|
||||||
// type code here for "relation_one" field
|
|
||||||
|
|
||||||
payment_status: 'Failed',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -227,22 +154,6 @@ 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 = [
|
||||||
@ -269,22 +180,6 @@ 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"
|
||||||
@ -322,28 +217,6 @@ 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"
|
||||||
@ -383,28 +256,6 @@ 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"
|
||||||
@ -442,28 +293,6 @@ 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() {
|
||||||
@ -499,28 +328,6 @@ 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"
|
||||||
|
|||||||
14
cloudbuild.yaml
Normal file
14
cloudbuild.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
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
1
docker/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
data/
|
|
||||||
33
frontend/.gitignore
vendored
33
frontend/.gitignore
vendored
@ -1,33 +0,0 @@
|
|||||||
# 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/basic-features/typescript for more information.
|
// see https://nextjs.org/docs/pages/building-your-application/configuring/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_PAGES;
|
const style = FooterStyle.WITH_PROJECT_NAME;
|
||||||
|
|
||||||
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_LEFT;
|
const style = HeaderStyle.PAGES_RIGHT;
|
||||||
|
|
||||||
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={0}
|
withBg={1}
|
||||||
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={1}
|
withBg={0}
|
||||||
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={1}
|
withBg={0}
|
||||||
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={0}
|
withBg={1}
|
||||||
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