@@ -5,19 +5,29 @@ const path= require('path');
5
5
const port = 8080 ;
6
6
7
7
//we need to create a folder nameed public to serve static files such as html,css,ejs..
8
- app . use ( express . static ( path . join ( __dirname , "/public/CSS" ) ) ) ;
9
- app . use ( express . static ( path . join ( __dirname , "/public/JS" ) ) ) ;
8
+ app . use ( express . static ( path . join ( __dirname , ".. /public/CSS" ) ) ) ;
9
+ app . use ( express . static ( path . join ( __dirname , ".. /public/JS" ) ) ) ;
10
10
11
11
//using of ejs which is already installed in express folder hence we need to use it using app.set()
12
12
//view => templates
13
13
app . set ( "view engine" , "ejs" ) ;
14
14
15
15
//setting path to run server globally and to avoid views loading from root directory when it is located in a leaf directory
16
- app . set ( "views" , path . join ( __dirname , "/views" ) ) ;
16
+ app . set ( "views" , path . join ( __dirname , ".. /views" ) ) ;
17
17
18
18
//to get the data from the post method
19
+ //app.use(bodyParser.urlencoded({ extended: true }));
20
+
19
21
app . use ( express . urlencoded ( { extended :true } ) ) ;
20
22
23
+ //importing routes
24
+ // const careerRoutes = require('./routes/careerRoutes');
25
+ // const profileRoutes = require('./routes/profileRoutes');
26
+
27
+ // // Use routes
28
+ // app.use('/careers', careerRoutes);
29
+ // app.use('/profile', profileRoutes);
30
+
21
31
//importing mongoose
22
32
const mongoose = require ( 'mongoose' ) ;
23
33
main ( )
@@ -64,7 +74,7 @@ app.listen(port,()=>{
64
74
//home route
65
75
app . get ( "/" , ( req , res ) =>
66
76
{
67
- res . render ( "home.ejs" , { port } ) ;
77
+ res . render ( "home.ejs" , { logged : false , uname : undefined } ) ;
68
78
} ) ;
69
79
70
80
//careers route
@@ -73,7 +83,7 @@ app.get("/careers",(req,res)=>{
73
83
} ) ;
74
84
75
85
//Careers route
76
- app . get ( "/c /:industry" , ( req , res ) => {
86
+ app . get ( "/industry /:industry" , ( req , res ) => {
77
87
Career . find ( { cindustry :req . params . industry } )
78
88
. then ( ( careers ) =>
79
89
{
@@ -83,11 +93,11 @@ app.get("/c/:industry",(req,res)=>{
83
93
} ) ;
84
94
85
95
// individual career route
86
- app . get ( "/ca /:career" , ( req , res ) => {
87
- Career . findOne ( { cname :req . params . career } )
96
+ app . get ( "/career /:career" , ( req , res ) => {
97
+ Career . find ( { cname :req . params . career } )
88
98
. then ( ( results ) =>
89
99
{
90
- res . render ( "career.ejs" , { career :results [ 0 ] , cin : results [ 0 ] . cindustry . join ( ", " ) } ) ;
100
+ res . render ( "career.ejs" , { data :results [ 0 ] } ) ;
91
101
} )
92
102
. catch ( ( err ) =>
93
103
{
@@ -103,37 +113,67 @@ app.get("/login",(req,res)=>{
103
113
//Login Route post request to get data and check if user exists
104
114
app . post ( "/login" , ( req , res ) =>
105
115
{
106
- let username , password = req . body ;
116
+ let { username, password} = req . body ;
107
117
console . log ( username , password ) ;
108
- let check = User . findOne ( { cname :username } )
109
- . then ( ( res ) =>
118
+ User . findOne ( { cname :username } )
119
+ . then ( ( user ) =>
110
120
{
111
- if ( res . password !== password )
121
+ if ( ! user )
112
122
{
113
- res . render ( "error.ejs" , { data :"Passwords doesnt match " } ) ;
123
+ return res . render ( "error.ejs" , { data :"User doesn't exist " } ) ;
114
124
}
115
- else
125
+ if ( user . password !== password )
116
126
{
117
- res . redirect ( "home .ejs") ;
127
+ return res . render ( "error .ejs", { data : "Passwords doesnt match" } ) ;
118
128
}
129
+ res . render ( "home.ejs" , { logged :true , uname :username } ) ;
119
130
} )
120
- . catch ( ( err ) => { res . render ( "error.ejs" , { data :"User doesn't exist" } ) } ) ;
131
+ . catch ( ( err ) =>
132
+ {
133
+ res . render ( "error.ejs" , { data :err } ) ;
134
+ } ) ;
121
135
} ) ;
122
136
123
137
//registration route
124
138
app . get ( "/register" , ( req , res ) => {
125
- res . render ( "register.ejs" , { port } ) ;
139
+ res . render ( "register.ejs" , { logged : false } ) ;
126
140
} ) ;
127
141
128
142
//registration route to check if user exists before
129
143
app . post ( "/register" , ( req , res ) =>
130
144
{
131
- let { username, email , password , confirmPassword } = req . body ;
132
- if ( password !== confirmPassword ) {
145
+ let { username, mail , pass , confirmPass } = req . body ;
146
+ if ( pass !== confirmPass ) {
133
147
return res . render ( 'error.ejs' , { data : 'Passwords do not match' } ) ;
134
148
}
135
- else
136
- {
149
+ User . findOne ( { name :username } )
150
+ . then ( ( user ) => {
151
+ if ( user )
152
+ {
153
+ return res . render ( "error.ejs" , { data :"User already exists" } ) ;
154
+ }
155
+ const newUser = new User ( { name : username , email : mail , password : pass } ) ;
156
+ return newUser . save ( ) ;
157
+ } ) . then ( ( ) => {
158
+ res . render ( "login.ejs" , { logged :false } )
159
+ } )
160
+ . catch ( ( err ) => {
161
+ console . log ( err ) ;
162
+ } ) ;
163
+ } ) ;
137
164
138
- }
165
+ //profile route
166
+ app . get ( "/profile/:user" , ( req , res ) => {
167
+ let uname = req . params . user ;
168
+ User . findOne ( { name :uname } )
169
+ . then ( ( results ) => {
170
+ res . render ( "profile.ejs" , { user :results } ) ;
171
+ } )
172
+ . catch ( ( err ) => {
173
+ res . render ( "error.ejs" , { data :err } ) ;
174
+ } ) ;
175
+ } ) ;
176
+
177
+ app . get ( "/logout" , ( req , res ) => {
178
+ res . render ( "home.ejs" , { logged :false , uname :undefined } ) ;
139
179
} ) ;
0 commit comments