Introduction
This installation guide will walk you through the step-by-step process of creating a new runnable full stack web application with a database connection. We’ll cover the setup of both the frontend and backend components, along with connecting to a database and running the application locally.
Prerequisites
Before we begin, ensure that you have the following prerequisites installed:
- Node.js and npm (Node Package Manager) are installed on your system.
- A code editor or IDE of your choice.
- A database system installed and running (e.g., MySQL, PostgreSQL, MongoDB).
Step 1: Setting Up the Backend (Node.js and Express)
- Create a new directory for your backend project.
- Open a terminal or command prompt and navigate to the newly created directory.
- Initialize a new Node.js project using the command:
npm init
. - Install the necessary dependencies by running the following:
npm install express
.
Step 2: Creating the Backend Server and Database Connection
- Create a new file called
index.js
in your backend directory. - Open
index.js
in your code editor and add the following code:
const express = require('express');
const app = express();
const port = 3000;
// Add the database connection setup
const database = require('./database');
database.connect();
// Assuming you have a separate file for the database connection setup
app.get('/', (req, res) => {
res.send('Hello from the backend!');
});
app.listen(port, () => {
console.log(`Backend server is running on port ${port}`);
});
- Create a new file called
database.js
in your backend directory. - Open
database.js
in your code editor and add the following code:
// Add the necessary code to connect to your database
const mongoose = require('mongoose');
function connect() {
mongoose
.connect('mongodb://localhost:27017/mydatabase', {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => {
console.log('Connected to the database');
})
.catch(error => {
console.error('Error connecting to the database:', error);
});
}
module.exports = { connect };
Note: Replace the MongoDB connection URL (mongodb://localhost:27017/mydatabase
) with your own database connection string.
Step 3: Setting Up the Frontend (React)
- Create a new directory for your front-end project.
- Open a terminal or command prompt and navigate to the frontend directory.
- Initialize a new React project using the command:
npx create-react-app app-name
.
Step 4: Creating a Frontend Component
- Replace the content of
src/App.js
in your frontend project with the following code:
import React, { useEffect, useState } from 'react';
function App() {
const [backendMessage, setBackendMessage] = useState('');
useEffect(() => {
fetch('http://localhost:3000')
.then(response => response.text())
.then(data => setBackendMessage(data))
.catch(error => console.log(error));
}, []);
return (
Full Stack Web Application
Message from the backend: {backendMessage}
);
}
export default App;
Step 5: Running the Application
- Open two separate terminal windows.
- In the first terminal, navigate to the backend directory and start the backend server by running:
node index.js
. - In the second terminal, navigate to the frontend directory and start the React development server by running:
npm start
. - Access the application by visiting
http://localhost:3000
in your browser.
Congratulations! You have successfully set up a new runnable full stack web application with a database connection. This guide covered the installation of both the frontend (React) and backend (Node.js and Express) components, along with connecting to a database. By following the provided steps, you should now have a working application running locally.
Feel free to further customize and enhance your application by adding additional routes, and frontend components, or interacting with the database. Remember to install any necessary dependencies and follow best practices as you continue to develop your full stack web application.
Happy coding and enjoy building your full-stack web application with a database connection!
I hope you enjoyed this article. If you did, please clap, follow, and subscribe.
See you at the next one.