user authentication quizquest
user authentication quizquest
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\userauth\frontend\users-auth\src
app.js
function App() {
const isUserSignedIn = !!localStorage.getItem('token')
return (
<div className="App">
<Navbar />
<Routes>
<Route path='/' element={<Home />} />
<Route path='/login' element={<Login />} />
<Route path='/signup' element={<SignUp />} />
{isUserSignedIn && <Route path='/account' element={<Account />} />}
</Routes>
</div>
);
}
// connect to mongoDB
const dbURI = 'mongodb+srv://hasini21bce8857:Honey@[email protected]/
UserDB?retryWrites=true&w=majority'
mongoose
.connect(dbURI, {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => {
app.listen(4001, () => {
console.log('Server connected to port 4001 and MongoDb')
})
})
.catch((error) => {
console.log('Unable to connect to Server and/or MongoDB', error)
})
// middleware
app.use(bodyParser.json())
app.use(cors())
BACKEND
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\userauth\server
server.js
//Routes
// REGISTER
//POST REGISTER
app.post('/register', async (req, res) => {
try {
const { email, username, password } = req.body
const hashedPassword = await bcrypt.hash(password, 10)
const newUser = new User({ email, username, password: hashedPassword })
await newUser.save()
res.status(201).json({ message: 'User created successfully' })
} catch (error) {
res.status(500).json({ error: 'Error signing up' })
}
})
//LOGIN
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\userauth\server\models
userSchema.js
module.exports = User