Practice
Practice
require('dotenv').config();
// Middleware
app.use(helmet());
app.use(cors());
app.use(express.json());
// Routes
app.use('/api/auth', authRoutes);
app.use('/api/flowers', flowerRoutes);
// Connect to MongoDB
// Start Server
const PORT = process.env.PORT || 5000;
// Routes
router.post('/register', registerUser);
router.post('/login', loginUser);
module.exports = router;
// Register User
await newUser.save();
} catch (error) {
};
// Login User
try {
} catch (error) {
};
try {
res.status(200).json(user);
} catch (error) {
};
req.user = verified;
next();
} catch (error) {
};
// Routes
router.get('/', getAllFlowers);
module.exports = router;
const Flower = require('../models/Flower');
try {
res.status(200).json(flowers);
} catch (error) {
};
// Create Flower
try {
const flower = new Flower({ name, description, price, image, stock });
await flower.save();
res.status(201).json(flower);
} catch (error) {
};
// Update Flower
const { id } = req.params;
try {
res.status(200).json(updatedFlower);
} catch (error) {
};
// Delete Flower
const { id } = req.params;
try {
await Flower.findByIdAndDelete(id);
} catch (error) {
};
FRONT END
import React from 'react';
function App() {
return (
<Router>
<Routes>
</Routes>
</Router>
);
function Home() {
useEffect(() => {
axios.get('http://localhost:5000/api/flowers')
}, []);
return (
<div className="row">
{flowers.map(flower => (
))}
</div>
</div>
);
return (
<div className="card">
<div className="card-body">
<h5 className="card-title">{flower.name}</h5>
<p className="card-text">{flower.description}</p>
</div>
</div>
</div>
);
function Login() {
e.preventDefault();
try {
localStorage.setItem('token', response.data.token);
alert('Login successful');
window.location = '/';
} catch (error) {
alert('Login failed');
};
return (
<h2>Login</h2>
<form onSubmit={handleLogin}>
<div className="mb-3">
<label>Email</label>
</div>
<div className="mb-3">
<label>Password</label>
</div>
</form>
</div>
);
function Register() {
e.preventDefault();
try {
alert('Registration successful');
window.location = '/login';
} catch (error) {
alert('Registration failed');
};
return (
<h2>Register</h2>
<form onSubmit={handleRegister}>
<div className="mb-3">
<label>Name</label>
</div>
<div className="mb-3">
<label>Email</label>
</div>
<div className="mb-3">
<label>Password</label>
<input type="password" className="form-control"
value={password} onChange={(e) => setPassword(e.target.value)}
required />
</div>
</form>
</div>
);
function AdminPanel() {
return (
<h1>Admin Panel</h1>
</div>
);
}
export default AdminPanel;
module.exports = {
output: {
filename: 'bundle.js',
},
module: {
rules: [
exclude: /node_modules/,
use: 'babel-loader',
},
],
},
resolve: {
},
devServer: {
contentBase: './dist',
port: 3000,
},
plugins: [
new HtmlWebpackPlugin({
}),
],
};