Full Stack-разработчики: примеры кода и лучшие практики

Вот несколько методов, обычно используемых полнофункциональными разработчиками, а также примеры кода:

  1. Метод: создание HTTP-сервера с использованием Node.js и Express.js
    Пример кода:

    const express = require('express');
    const app = express();
    app.get('/', (req, res) => {
     res.send('Hello, World!');
    });
    app.listen(3000, () => {
     console.log('Server started on port 3000');
    });
  2. Метод: реализация маршрутизации на стороне клиента с помощью React Router
    Пример кода:

    import React from 'react';
    import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
    import Home from './components/Home';
    import About from './components/About';
    import Contact from './components/Contact';
    const App = () => {
     return (
       <Router>
         <Switch>
           <Route exact path="/" component={Home} />
           <Route path="/about" component={About} />
           <Route path="/contact" component={Contact} />
         </Switch>
       </Router>
     );
    };
    export default App;
  3. Метод: создание RESTful API с использованием Node.js и Express.js
    Пример кода:

    const express = require('express');
    const app = express();
    app.get('/api/users', (req, res) => {
     // Logic to fetch users from a database
     const users = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
     res.json(users);
    });
    app.post('/api/users', (req, res) => {
     // Logic to create a new user
     const newUser = req.body;
     // Save the new user to the database
     res.json(newUser);
    });
    app.listen(3000, () => {
     console.log('Server started on port 3000');
    });
  4. Метод: реализация аутентификации с использованием Passport.js
    Пример кода:

    const passport = require('passport');
    const LocalStrategy = require('passport-local').Strategy;
    const User = require('./models/User');
    passport.use(
     new LocalStrategy((username, password, done) => {
       User.findOne({ username: username }, (err, user) => {
         if (err) return done(err);
         if (!user) return done(null, false);
         if (!user.verifyPassword(password)) return done(null, false);
         return done(null, user);
       });
     })
    );
    // Usage in an Express route handler
    app.post('/login', passport.authenticate('local'), (req, res) => {
     // Authentication successful
     res.redirect('/dashboard');
    });
  5. Метод: реализация сохранения данных с использованием MongoDB и Mongoose
    Пример кода:

    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost/myapp', { useNewUrlParser: true });
    const UserSchema = new mongoose.Schema({
     name: String,
     email: String,
     password: String,
    });
    const User = mongoose.model('User', UserSchema);
    // Usage
    const newUser = new User({
     name: 'John Doe',
     email: 'john@example.com',
     password: 'password123',
    });
    newUser.save((err) => {
     if (err) {
       console.error(err);
     } else {
       console.log('User saved successfully');
     }
    });