Comment développer un site Web de commerce électronique simple à l'aide de MySQL et Ruby
Le développement de sites Web de commerce électronique est une partie importante des applications Internet modernes. Dans cet article, nous présenterons comment développer un site Web de commerce électronique simple à l'aide de MySQL et Ruby. Nous discuterons de la conception de bases de données, de la logique back-end et des interactions frontales, et fournirons des exemples de code spécifiques.
Tout d'abord, nous devons concevoir une base de données adaptée aux sites Web de commerce électronique. Nous utiliserons MySQL comme système de gestion de base de données et définirons les tables suivantes :
Le code pour créer ces tables dans MySQL est le suivant :
CREATE TABLE User ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); CREATE TABLE Product ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, price DECIMAL(10, 2) NOT NULL, stock INT NOT NULL ); CREATE TABLE Order ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, FOREIGN KEY (user_id) REFERENCES User(id), FOREIGN KEY (product_id) REFERENCES Product(id) );
Ensuite, nous utiliserons Ruby pour implémenter la logique backend. Nous utiliserons Sinatra comme framework Web et ActiveRecord pour interagir avec la base de données MySQL. Voici un exemple simple de code backend :
require 'sinatra' require 'sinatra/activerecord' # 配置数据库连接 set :database, {adapter: 'mysql2', host: 'localhost', database: 'ecommerce', username: 'root', password: 'password'} # 定义User模型 class User < ActiveRecord::Base has_many :orders end # 定义Product模型 class Product < ActiveRecord::Base has_many :orders end # 定义Order模型 class Order < ActiveRecord::Base belongs_to :user belongs_to :product end # 创建用户 post '/users' do user = User.create(params[:user]) if user.valid? {status: 'success', message: 'User created successfully'}.to_json else {status: 'error', message: user.errors.full_messages.join(', ')}.to_json end end # 创建商品 post '/products' do product = Product.create(params[:product]) if product.valid? {status: 'success', message: 'Product created successfully'}.to_json else {status: 'error', message: product.errors.full_messages.join(', ')}.to_json end end # 创建订单 post '/orders' do order = Order.create(params[:order]) if order.valid? {status: 'success', message: 'Order created successfully'}.to_json else {status: 'error', message: order.errors.full_messages.join(', ')}.to_json end end
Dans l'exemple ci-dessus, nous avons défini trois modèles (Utilisateur, Produit et Commande) pour interagir avec la base de données. Nous avons créé trois itinéraires pour gérer les demandes de création d'utilisateurs, de produits et de commandes.
Enfin, nous utiliserons HTML, CSS et JavaScript pour implémenter l'interaction front-end. Voici un exemple simple de code frontal :
<!DOCTYPE html> <html> <head> <title>E-commerce Website</title> <link rel="stylesheet" type="text/css" href="style.css"> <script src="script.js"></script> </head> <body> <h1>Welcome to our E-commerce Website</h1> <form id="user-form" onsubmit="createUser(event)"> <input type="text" name="username" placeholder="Username" required> <input type="password" name="password" placeholder="Password" required> <input type="email" name="email" placeholder="Email" required> <button type="submit">Create User</button> </form> <form id="product-form" onsubmit="createProduct(event)"> <input type="text" name="name" placeholder="Product Name" required> <input type="number" name="price" step="0.01" placeholder="Price" required> <input type="number" name="stock" placeholder="Stock" required> <button type="submit">Create Product</button> </form> <form id="order-form" onsubmit="createOrder(event)"> <input type="number" name="user_id" placeholder="User ID" required> <input type="number" name="product_id" placeholder="Product ID" required> <input type="number" name="quantity" placeholder="Quantity" required> <button type="submit">Create Order</button> </form> <script src="http://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="script.js"></script> </body> </html>
/* style.css */ input { margin-bottom: 10px; } button { margin-top: 10px; }
// script.js function createUser(event) { event.preventDefault(); $.ajax({ url: '/users', method: 'POST', data: $('#user-form').serialize(), success: function(response) { console.log(response); } }); } function createProduct(event) { event.preventDefault(); $.ajax({ url: '/products', method: 'POST', data: $('#product-form').serialize(), success: function(response) { console.log(response); } }); } function createOrder(event) { event.preventDefault(); $.ajax({ url: '/orders', method: 'POST', data: $('#order-form').serialize(), success: function(response) { console.log(response); } }); }
Dans l'exemple ci-dessus, nous avons créé un formulaire simple pour créer des utilisateurs, des articles et des commandes. Lorsque le formulaire est soumis, les données sont envoyées au backend via une requête Ajax et la réponse est affichée dans la console.
Résumé :
Cet article présente comment utiliser MySQL et Ruby pour développer un site Web de commerce électronique simple. Nous discutons de la conception de bases de données, de la logique back-end et des interactions front-end, et fournissons des exemples de code concrets. En étudiant ces exemples, vous pouvez commencer à développer votre propre site Web de commerce électronique, en l'étendant et en le personnalisant selon vos besoins. J'espère que cet article pourra vous aider !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!