Skip to content

Brian branch #48

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 212 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
80b742f
Initiated Node.js and Express.js and connected to MongoDB Atlas
alim509 Feb 6, 2024
fa8c20b
Deleted client side directory
alim509 Feb 8, 2024
f8e3b01
Created React.js in client directory and installed necessary dependen…
alim509 Feb 8, 2024
60d95a2
Created example components for web application
alim509 Feb 8, 2024
6c406e7
Figma to Code Frontend
erinsantosaa Mar 20, 2024
9306f14
Skeleton functions
erinsantosaa Mar 20, 2024
0706390
Figma to Code Frontend
erinsantosaa Mar 20, 2024
08a3f8d
Skeleton functions
erinsantosaa Mar 20, 2024
f32da00
inital backend commit, designed some routes and models.
chris-douglas13 Mar 21, 2024
9c76e67
inital backend commit, designed some routes and models.
chris-douglas13 Mar 21, 2024
602f85b
Merge pull request #1 from Capstone-Projects-2024-Spring/main
chris-douglas13 Mar 21, 2024
49e9d4a
Merge pull request #2 from Capstone-Projects-2024-Spring/chris-branch
Jjkrules Mar 21, 2024
c3ef022
nodemon module added
chris-douglas13 Mar 21, 2024
c9eb342
Merge pull request #3 from Capstone-Projects-2024-Spring/chris-branch
Jjkrules Mar 21, 2024
6204a75
installed bcrypt and jsonwebtoken modules
chris-douglas13 Mar 21, 2024
ae52e36
Merge pull request #4 from Capstone-Projects-2024-Spring/chris-branch
Jjkrules Mar 21, 2024
f275d74
Delete mern directory
alim509 Mar 21, 2024
2c12ba5
Delete mern-speakeasy directory
chris-douglas13 Mar 21, 2024
b715e25
Merge pull request #6 from Capstone-Projects-2024-Spring/angelo-branch
chris-douglas13 Mar 21, 2024
6614569
Delete mern-speakeasy directory
chris-douglas13 Mar 21, 2024
71b5ded
Updated login
erinsantosaa Mar 21, 2024
f73db22
gitignore file
erinsantosaa Mar 21, 2024
5c9946d
Updated
erinsantosaa Mar 21, 2024
7bf7217
updated login & package
erinsantosaa Mar 21, 2024
bc9629c
Backend skeleton functions
erinsantosaa Mar 21, 2024
854c10f
Hardcoded login & signup page
erinsantosaa Mar 22, 2024
485e091
Merge pull request #7 from Capstone-Projects-2024-Spring/erin-branch
erinsantosaa Mar 22, 2024
fa95bdd
Added profile routes. Updated user login route.
briangunsel Mar 22, 2024
c8da894
Created code for chat gpt not final but connects to the api
Jjkrules Mar 23, 2024
708a41b
updated package-lock.json
erinsantosaa Mar 22, 2024
9582755
added assets
erinsantosaa Mar 23, 2024
d0b4d3c
added routes
erinsantosaa Mar 23, 2024
4ad3974
edited classname
erinsantosaa Mar 23, 2024
a5b15ff
added bot component
erinsantosaa Mar 23, 2024
24ebe72
added navigational functions in button
erinsantosaa Mar 23, 2024
21cc8de
added navigational functions in button
erinsantosaa Mar 23, 2024
0baec0d
edited styling
erinsantosaa Mar 23, 2024
2056f10
added MainPage
erinsantosaa Mar 23, 2024
a6b229d
edited comments
erinsantosaa Mar 23, 2024
c789fec
edited styling
erinsantosaa Mar 23, 2024
f1c85ea
added assets
erinsantosaa Mar 23, 2024
da0b927
edited styling
erinsantosaa Mar 23, 2024
db9653c
hardcoded signup progressions
erinsantosaa Mar 23, 2024
323f65d
adjust button
erinsantosaa Mar 23, 2024
07d5f6d
added routes
erinsantosaa Mar 23, 2024
c5f83c9
adjusted bot style
erinsantosaa Mar 23, 2024
84d2f58
added div
erinsantosaa Mar 23, 2024
d189fc4
adjusted comment
erinsantosaa Mar 23, 2024
e3bb05d
edited styling
erinsantosaa Mar 24, 2024
1f23aa1
added assets
erinsantosaa Mar 24, 2024
e150a97
added routes
erinsantosaa Mar 24, 2024
c37e0d5
fixed link
erinsantosaa Mar 24, 2024
bc7fd26
hardcoded profile component
erinsantosaa Mar 24, 2024
fa49359
edited styling
erinsantosaa Mar 24, 2024
1c647a1
Merge pull request #8 from Capstone-Projects-2024-Spring/jjames-branch
erinsantosaa Mar 25, 2024
781237e
updated
erinsantosaa Mar 25, 2024
218a652
updated package-lock.json
erinsantosaa Mar 22, 2024
2a82353
added assets
erinsantosaa Mar 23, 2024
1977973
added routes
erinsantosaa Mar 23, 2024
9e0205a
edited classname
erinsantosaa Mar 23, 2024
5244109
added bot component
erinsantosaa Mar 23, 2024
e6f9122
added navigational functions in button
erinsantosaa Mar 23, 2024
715cd35
added navigational functions in button
erinsantosaa Mar 23, 2024
d88d036
edited styling
erinsantosaa Mar 23, 2024
eefb628
added MainPage
erinsantosaa Mar 23, 2024
bf141f8
edited comments
erinsantosaa Mar 23, 2024
600ef81
edited styling
erinsantosaa Mar 23, 2024
c4b9aff
added assets
erinsantosaa Mar 23, 2024
f86c351
edited styling
erinsantosaa Mar 23, 2024
f8a0499
hardcoded signup progressions
erinsantosaa Mar 23, 2024
1144c4f
adjust button
erinsantosaa Mar 23, 2024
2df6e00
added routes
erinsantosaa Mar 23, 2024
0f2b522
adjusted bot style
erinsantosaa Mar 23, 2024
6398108
added div
erinsantosaa Mar 23, 2024
7b8d8bd
adjusted comment
erinsantosaa Mar 23, 2024
89b7794
edited styling
erinsantosaa Mar 24, 2024
01e4279
added assets
erinsantosaa Mar 24, 2024
6749afd
added routes
erinsantosaa Mar 24, 2024
0cf0f75
fixed link
erinsantosaa Mar 24, 2024
e680ec8
hardcoded profile component
erinsantosaa Mar 24, 2024
50051d0
edited styling
erinsantosaa Mar 24, 2024
02a4817
updated
erinsantosaa Mar 25, 2024
b3b45dc
merge
erinsantosaa Mar 25, 2024
af99db4
Merge pull request #9 from Capstone-Projects-2024-Spring/erin-branch
erinsantosaa Mar 25, 2024
700a046
Merge pull request #10 from Capstone-Projects-2024-Spring/brian-branch
chris-douglas13 Mar 26, 2024
9b6d5db
updated profile.js routes
briangunsel Mar 26, 2024
7ba24cb
Merge pull request #11 from Capstone-Projects-2024-Spring/main
chris-douglas13 Mar 26, 2024
86e5ced
fixed file structure
chris-douglas13 Mar 26, 2024
6401c41
Merge pull request #12 from Capstone-Projects-2024-Spring/chris-branch
briangunsel Mar 26, 2024
ef36304
updated server.js
briangunsel Mar 26, 2024
67e28b7
Delete backend/node_modules directory
chris-douglas13 Mar 26, 2024
315282f
Delete chatgpt_api/.env
chris-douglas13 Mar 26, 2024
f6e5463
Update .gitignore
chris-douglas13 Mar 26, 2024
01dc52e
Merge remote-tracking branch 'origin' into brian-branch
briangunsel Mar 26, 2024
6583164
code for gemini if chosen over chatgpt
Jjkrules Mar 27, 2024
1c68563
Updated package files and added Axios to App.js
alim509 Mar 28, 2024
3882858
connected front-end
briangunsel Mar 28, 2024
47f79ed
Got profile and login pages to render
briangunsel Mar 28, 2024
38a4a8f
Merge pull request #14 from Capstone-Projects-2024-Spring/brian-branch
chris-douglas13 Mar 28, 2024
ef1e777
Added dependencies and sample routes to login and signup to server.js
alim509 Mar 28, 2024
b685a7b
Fixed password confirmation and console log on sign up
alim509 Mar 28, 2024
24c6d50
Fixed Login and Signup Progression 2 & 3 to properly submit data and …
alim509 Mar 28, 2024
d337f00
Connected React to Node and can push user information to MongoDB
alim509 Mar 28, 2024
346754a
added routes for settings & help page
erinsantosaa Mar 30, 2024
6d8e6bb
hardcoded help page
erinsantosaa Mar 30, 2024
7356149
hardcoded settings page
erinsantosaa Mar 30, 2024
1590d89
edited buttons
erinsantosaa Mar 30, 2024
ecb8c83
edited import
erinsantosaa Mar 30, 2024
cd071f3
edited styling of help & settings page
erinsantosaa Mar 30, 2024
e74a69e
updated profile.js routes
briangunsel Mar 26, 2024
40b89b7
updated server.js
briangunsel Mar 26, 2024
ea63456
connected front-end
briangunsel Mar 28, 2024
dd0a27f
Got profile and login pages to render
briangunsel Mar 28, 2024
6b1dadc
Merge pull request #15 from Capstone-Projects-2024-Spring/erin-branch
erinsantosaa Mar 30, 2024
7b443d4
Error with checking for existing user for registration
alim509 Apr 2, 2024
38a894e
changed user model. Added first and last name so we can fill in profi…
chris-douglas13 Apr 3, 2024
cd4ef1e
Registration successfully checks for emails in use without error, ref…
alim509 Apr 3, 2024
eb49f5f
Merge branch 'main' into angelo-branch
alim509 Apr 3, 2024
d9dc840
Merge pull request #16 from Capstone-Projects-2024-Spring/angelo-branch
sabioe Apr 3, 2024
c1c9ead
Error in comparing passwords, but bypassed temporarily to fix login b…
alim509 Apr 9, 2024
971c866
Login page working successfully after emoved error of double hashing …
alim509 Apr 9, 2024
edf9de3
Removed test cases for login
alim509 Apr 9, 2024
c039510
Merge pull request #18 from Capstone-Projects-2024-Spring/angelo-branch
briangunsel Apr 9, 2024
2af9d3d
pass email to MainPage
erinsantosaa Apr 9, 2024
1d7dfb2
Merge branch 'main' into erin-branch
erinsantosaa Apr 9, 2024
ab4bd8c
Commit message describing your changes
Jjkrules Apr 9, 2024
2123431
most of chatbot made, Gemini API integration needs work
Jjkrules Apr 10, 2024
255a757
most of chatbot made, Gemini API integration needs work
Jjkrules Apr 10, 2024
88a4e07
pass email to mainpage
erinsantosaa Apr 10, 2024
917e356
Merge remote-tracking branch 'origin/main' into erin-branch
erinsantosaa Apr 10, 2024
430e8e2
Update package.json
Jjkrules Apr 10, 2024
f4214c1
Update server.js
Jjkrules Apr 10, 2024
784730b
added section1 page
Jjkrules Apr 10, 2024
45a5ba9
Merge branch 'jjames-branch' of https://github.com/Capstone-Projects-…
Jjkrules Apr 10, 2024
5a4059f
changes to pakagas that gave errors
Jjkrules Apr 10, 2024
b32c997
not getting errors from backend frontend and console but out put not …
Jjkrules Apr 10, 2024
1a6584b
updated back end
Jjkrules Apr 10, 2024
655c654
able to see bot messages just not in order (sometimes)
chris-douglas13 Apr 11, 2024
fa1bd5f
Updated index.html tab title and icons
chris-douglas13 Apr 11, 2024
dfdec3f
Fixed some old file conflicts
chris-douglas13 Apr 11, 2024
beffb3b
fixed message ordering
chris-douglas13 Apr 11, 2024
b87afb8
Merge pull request #19 from Capstone-Projects-2024-Spring/jjames-branch
erinsantosaa Apr 11, 2024
ef03fdf
Merge branch 'main' into erin-branch
erinsantosaa Apr 11, 2024
c2d8f08
added 2 new features for demo
Jjkrules Apr 11, 2024
1d4170c
Merge pull request #20 from Capstone-Projects-2024-Spring/jjames-branch
erinsantosaa Apr 11, 2024
9afc828
Merge branch 'main' into erin-branch
erinsantosaa Apr 11, 2024
cf4b44f
Delete gemini_API directory
chris-douglas13 Apr 11, 2024
f10888c
added vocab practice feature for demo
erinsantosaa Apr 11, 2024
22c652f
Merge pull request #21 from Capstone-Projects-2024-Spring/erin-branch
erinsantosaa Apr 11, 2024
bd6f485
Stored userID on login or signup
alim509 Apr 11, 2024
1b17817
Fixed main page to display welcome to user's first name
alim509 Apr 11, 2024
1422e68
Merge pull request #22 from Capstone-Projects-2024-Spring/angelo-branch
Jjkrules Apr 11, 2024
3d551af
attempt to pass firstName for welcome message
erinsantosaa Apr 11, 2024
9a68187
Merge branch 'main' into erin-branch
erinsantosaa Apr 16, 2024
2e11e6b
added logout button
erinsantosaa Apr 16, 2024
950e622
added logout button
erinsantosaa Apr 16, 2024
c807cea
Added language and dailyTarget to schema and fixed put request for la…
alim509 Apr 16, 2024
94dc259
Refactored and fixed put request for daily target time to MongoDB
alim509 Apr 17, 2024
9deb9a5
Fixed name, email, and language on profile page by get request
alim509 Apr 17, 2024
a0886dc
Added 201 country flags to assets
alim509 Apr 17, 2024
ed5206f
Moved flags to public directory and fixed flags on profile and settin…
alim509 Apr 17, 2024
bcd26d6
Imported higher resolution flags
alim509 Apr 17, 2024
1a37ead
Fixed first name on badges
alim509 Apr 17, 2024
e00f51b
Fixed flag on manage courses
alim509 Apr 17, 2024
8ddb1fe
Merge pull request #23 from Capstone-Projects-2024-Spring/angelo-branch
erinsantosaa Apr 17, 2024
1f69506
Added language and dailyTarget to schema and fixed put request for la…
alim509 Apr 16, 2024
e2950cf
Refactored and fixed put request for daily target time to MongoDB
alim509 Apr 17, 2024
4425560
Fixed name, email, and language on profile page by get request
alim509 Apr 17, 2024
8c8ae2e
Added 201 country flags to assets
alim509 Apr 17, 2024
de474cf
Moved flags to public directory and fixed flags on profile and settin…
alim509 Apr 17, 2024
6316bab
Imported higher resolution flags
alim509 Apr 17, 2024
c4c25a9
Fixed first name on badges
alim509 Apr 17, 2024
25129cf
Fixed flag on manage courses
alim509 Apr 17, 2024
3793733
added logout in other components
erinsantosaa Apr 17, 2024
fefc43f
Merge branch 'main' into erin-branch
erinsantosaa Apr 17, 2024
e3c34d7
added flashcards to vocab practice
erinsantosaa Apr 18, 2024
b76025f
flashcard implementations
erinsantosaa Apr 18, 2024
1424e65
styling of flashcard
erinsantosaa Apr 18, 2024
fc02d20
Updated user and profile model schema to new format
alim509 Apr 18, 2024
75f5015
Updated user routes to reflect new schema with profile
alim509 Apr 18, 2024
8c6190d
Updated profile page and user routes to correctly access user's first…
alim509 Apr 18, 2024
1bcef14
Merge pull request #24 from Capstone-Projects-2024-Spring/erin-branch
chris-douglas13 Apr 18, 2024
a8bbc17
Refactored sign up 2 and 3
alim509 Apr 18, 2024
c3d6505
Merge branch 'main' of https://github.com/Capstone-Projects-2024-Spri…
alim509 Apr 18, 2024
f69006c
Updated user and profile model schema to new format
alim509 Apr 18, 2024
5ae27d3
Updated user routes to reflect new schema with profile
alim509 Apr 18, 2024
b23c0d0
Updated profile page and user routes to correctly access user's first…
alim509 Apr 18, 2024
bb96ded
Refactored sign up 2 and 3
alim509 Apr 18, 2024
5c75f95
Updated progress bar
briangunsel Apr 18, 2024
848bd8b
Merge branch 'angelo-branch' of https://github.com/Capstone-Projects-…
chris-douglas13 Apr 18, 2024
ac34361
Merge remote-tracking branch 'origin' into jjames-branch
Jjkrules Apr 18, 2024
bde4ede
Updated location of progress bar
briangunsel Apr 18, 2024
b717e7d
Fixed language change on signup
alim509 Apr 18, 2024
91fc64f
Merge branch 'angelo-branch' of https://github.com/Capstone-Projects-…
alim509 Apr 18, 2024
85021a7
Merge pull request #25 from Capstone-Projects-2024-Spring/angelo-branch
Jjkrules Apr 18, 2024
365b101
Merge remote-tracking branch 'origin/main' into jjames-branch
Jjkrules Apr 18, 2024
31af9a5
changes to lang use
Jjkrules Apr 18, 2024
83f9d37
Update Section3Page.js
Jjkrules Apr 18, 2024
e79ee3f
made vocab page into any lang
Jjkrules Apr 19, 2024
1e2da5c
added italian and german to be a option to learn
Jjkrules Apr 19, 2024
dd9f53a
added flags for italian and german
chris-douglas13 Apr 19, 2024
ac52b94
Merge pull request #26 from Capstone-Projects-2024-Spring/jjames-branch
chris-douglas13 Apr 19, 2024
f9235bc
Created history model in the backend to store chat messages in MongoDB
alim509 Apr 22, 2024
94e1a8f
Updated history route file with routes to add entries and retrieve en…
alim509 Apr 22, 2024
e582284
Updated history routes
alim509 Apr 22, 2024
f3cce5b
Updating server with history router and tweaking history and user mod…
alim509 Apr 23, 2024
3419ef7
User history successfully stores for chatbot feature
alim509 Apr 23, 2024
0d513f9
Merge branch 'main' into brian-branch
briangunsel Apr 23, 2024
7e92363
Merge pull request #27 from Capstone-Projects-2024-Spring/brian-branch
Jjkrules Apr 23, 2024
d8ec6d4
Updated progress
briangunsel Apr 23, 2024
dedfbba
Merge pull request #28 from Capstone-Projects-2024-Spring/brian-branch
briangunsel Apr 23, 2024
2b7a7cc
Implemented progress bar with signup page
briangunsel Apr 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@
.env.development.local
.env.test.local
.env.production.local

# env
.env
chatgpt_api/.env

#node
node_modules
backend/node_modules
37 changes: 37 additions & 0 deletions backend/models/history.model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const messageSchema = new Schema({
name: {
type: String,
required: true,
enum: ['User', 'Chatbot']
},
message: {
type: String,
required: true
},
});

// Define a session schema for groups of messages
const sessionSchema = new Schema({
interactions: [messageSchema], // Array of message subdocuments
timestamp: {
type: Date,
default: Date.now
}
});

const historySchema = new Schema({
chatbot: [sessionSchema],
translator: [sessionSchema],
roleplaying: [sessionSchema],
vocabulary: [sessionSchema]
}, {
timestamps: true
});

const History = mongoose.model('History', historySchema);

module.exports = History;
37 changes: 37 additions & 0 deletions backend/models/profile.model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const profileSchema = new Schema({
firstName: {
type: String,
required: true,
trim: true,
minlength: 1
},
lastName: {
type: String,
required: true,
trim: true,
minlength: 1
},
languages: {
type: [String],
required: true, // must have initial language, i.e. array length of 1.
default: ['English'] // Starting language
},
dailyTarget: {
type: Number,
default: 10 // Daily target time in minutes, default 10 minutes
}
}, {
timestamps: true
});

profileSchema.pre('save', async function (next) {
next();
});

const Profile = mongoose.model('Profile', profileSchema);

module.exports = Profile;
47 changes: 47 additions & 0 deletions backend/models/user.model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
const mongoose = require('mongoose');
const bcrypt = require('bcrypt');

const Schema = mongoose.Schema;

const userSchema = new Schema({
email: {
type: String,
required: true,
unique: true,
trim: true,
lowercase: true // Ensure email addresses are always lowercase for consistency
},
password: {
type: String,
required: true,
minlength: 8 // Enforce a minimum password length for security
},
profile: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Profile'
},
dailyTarget: {
type: Number,
default: 10 // Daily target time in minutes, default 10 minutes
},
history: {
type: mongoose.Schema.Types.ObjectId,
ref: 'History'
}
}, {
timestamps: true
});

userSchema.pre('save', async function (next) {
if (!this.isModified('password')) return next();

const salt = await bcrypt.genSalt(10); // Adjust salt rounds as needed

this.password = await bcrypt.hash(this.password, salt);

next();
});

const User = mongoose.model('User', userSchema);

module.exports = User;
Loading