Skip to content

Commit 6c75b31

Browse files
authored
Merge pull request #133 from faraday-academy/cleanup/change-to-use-modules
change from common js to modules and add initial seeding
2 parents 3fb3c3b + 127690a commit 6c75b31

26 files changed

+14588
-9793
lines changed

curriculum-back/.eslintrc.js

-7
This file was deleted.

curriculum-back/.gitignore

+18-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,18 @@
1-
node_modules
1+
# Ignore node_modules directory
2+
node_modules/
3+
4+
# Ignore macOS system files
5+
.DS_Store
6+
7+
# Ignore Linux system files
8+
Thumbs.db
9+
10+
# Ignore Windows system files
11+
desktop.ini
12+
13+
# Ignore Vim swap files
14+
*.swp
15+
# Ignore Vim backup files
16+
*.bak
17+
# Ignore Vim undo files
18+
*.un~

curriculum-back/.husky/pre-commit

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cd curriculum-back
2+
npm test

curriculum-back/app.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
console.log(`Node environment: ${process.env.NODE_ENV}`)
2-
if (process.env.NODE_ENV === 'production') {
3-
// this will be setup for different environments:
4-
require('dotenv').config()
5-
} else {
6-
require('dotenv').config()
7-
}
1+
import 'dotenv/config'
2+
import './server/index.js'
83

9-
require('module-alias/register')
4+
console.log(`Node environment: ${process.env.NODE_ENV}`)
105

11-
require('./server')
6+
// if (process.env.NODE_ENV === 'production') {
7+
// // this will be setup for different environments:
8+
// config()
9+
// } else {
10+
// config()
11+
// }

curriculum-back/babel.config.json

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"presets": [
3+
"@babel/preset-env"
4+
],
5+
"plugins": [
6+
[
7+
"module-resolver",
8+
{
9+
"alias": {
10+
"@db": "./db"
11+
}
12+
}
13+
]
14+
]
15+
}

curriculum-back/db/Curriculum.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const mongoose = require('mongoose')
2-
const mongoosePaginate = require('mongoose-paginate-v2')
1+
import mongoose from 'mongoose'
2+
import mongoosePaginate from 'mongoose-paginate-v2'
33

44
const CurriculumSchema = new mongoose.Schema({
55
name: {
@@ -56,4 +56,4 @@ const CurriculumSchema = new mongoose.Schema({
5656
CurriculumSchema.plugin(mongoosePaginate)
5757
const Curriculum = mongoose.model('Curriculum', CurriculumSchema)
5858

59-
module.exports = Curriculum
59+
export default Curriculum

curriculum-back/db/User.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const mongoose = require('mongoose')
1+
import mongoose from 'mongoose'
22

33
const UserSchema = new mongoose.Schema({
44
username: {
@@ -26,4 +26,4 @@ const UserSchema = new mongoose.Schema({
2626

2727
const User = mongoose.model('User', UserSchema)
2828

29-
module.exports = User
29+
export default User

curriculum-back/db/UserProfile.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const mongoose = require('mongoose')
1+
import mongoose from 'mongoose'
22

33
const UserProfileSchema = new mongoose.Schema({
44
userId: {
@@ -35,4 +35,4 @@ const UserProfileSchema = new mongoose.Schema({
3535

3636
const UserProfile = mongoose.model('User', UserProfileSchema)
3737

38-
module.exports = UserProfile
38+
export default UserProfile

curriculum-back/db/Verification.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const mongoose = require('mongoose')
1+
import mongoose from 'mongoose'
22

33
const VerificationSchema = new mongoose.Schema({
44
userId: {
@@ -16,4 +16,4 @@ const VerificationSchema = new mongoose.Schema({
1616

1717
const Verification = mongoose.model('Verification', VerificationSchema)
1818

19-
module.exports = Verification
19+
export default Verification

curriculum-back/db/index.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const mongoose = require('mongoose')
1+
import mongoose from 'mongoose'
22

33
if (process.env.NODE_ENV === 'production') {
44
mongoose.connect(`mongodb://mongo/curriculumapp`, {
@@ -12,11 +12,11 @@ if (process.env.NODE_ENV === 'production') {
1212
})
1313
}
1414

15-
const Curriculum = require('./Curriculum')
16-
const User = require('./User')
17-
const Verification = require('./Verification')
15+
import Curriculum from './Curriculum.js'
16+
import User from './User.js'
17+
import Verification from './Verification.js'
1818

19-
module.exports = {
19+
export default {
2020
Curriculum,
2121
User,
2222
Verification

curriculum-back/db/seeder/seed.js

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { faker } from 'https://esm.sh/@faker-js/faker'
2+
import User from '../User'
3+
import Curriculum from '../Curriculum'
4+
5+
// Generate seed data for users
6+
const generateUsers = async (numUsers) => {
7+
try {
8+
for (let i = 0; i < numUsers; i++) {
9+
const hashedPassword = await hashPassword(faker.internet.password())
10+
const user = new User({
11+
name: faker.name.findName(),
12+
email: faker.internet.email(),
13+
password: hashedPassword,
14+
})
15+
await user.save()
16+
}
17+
console.log(`${numUsers} users seeded successfully.`)
18+
} catch (error) {
19+
console.error('Error seeding users:', error)
20+
}
21+
}
22+
23+
// Generate seed data for curricula
24+
// const generateCurricula = async (numCurricula) => {
25+
// try {
26+
// for (let i = 0; i < numCurricula; i++) {
27+
// const curriculum = new Curriculum({
28+
// title: faker.lorem.words(3),
29+
// description: faker.lorem.sentence(),
30+
// // Add any other curriculum properties you need
31+
// })
32+
// await curriculum.save()
33+
// }
34+
// console.log(`${numCurricula} curricula seeded successfully.`)
35+
// } catch (error) {
36+
// console.error('Error seeding curricula:', error)
37+
// }
38+
// }
39+
40+
// Call the functions to generate seed data
41+
const numUsers = 10 // Number of users to generate
42+
// const numCurricula = 5 // Number of curricula to generate
43+
44+
generateUsers(numUsers)
45+
// generateCurricula(numCurricula)

curriculum-back/eslint.config.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import babelParser from '@babel/eslint-parser'
2+
3+
export default [
4+
{
5+
ignores: ['node_modules/**'],
6+
},
7+
{
8+
files: ['**/*.js'],
9+
languageOptions: {
10+
parser: babelParser,
11+
parserOptions: {
12+
babelOptions: {
13+
presets: ['@babel/preset-env'],
14+
},
15+
},
16+
},
17+
rules: {
18+
'indent': ['error', 2, { 'SwitchCase': 1 }],
19+
'semi': ['error', 'never'],
20+
},
21+
},
22+
]

curriculum-back/jest.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module.exports = {
1+
export default {
22
// bail: 0,
33
clearMocks: true,
44
collectCoverage: true,

0 commit comments

Comments
 (0)