拍卖点是用户可以买卖商品的网站。我在这个完整的堆栈项目中的目标是设计和开发在线拍卖平台,类似于eBay。实现遵循REST-API体系结构,一些关键功能是:
使用JavaScript堆栈,以便于后端的Express和node.js组成,用于更快,更快的部署。由于数据建模,关联和查询是使用semeLize处理对象相关映射的,因此也可以使用不同的关系数据库。

对于后端MySQL或类似的关系数据库以及Node.js和NPM的安装。
在config.json文件中添加您的个人mysql设置。
要安装Express,CORS和其他必要的模块,在API文件夹中运行: npm install
要将续集连接到数据库,请运行命令: sequelize init
交易通过SSL/TLS协议进行加密。要在本地创建证书,您可以使用mkcert ,然后添加路径:
const sslServer = https . createServer ( {
key : fs . readFileSync ( '/yourpath/key.pem' ) ,
cert : fs . readFileSync ( '/yourpath/cert.pem' )
} , app ) ;要启动服务器,只需在API目录中运行:
npm start
对于前端,所有必要的依赖项在package.json文件中定义。要安装它们,只需在前目录中运行: npm install
要启动前目录中的前端运行:
npm start
为了设计应用程序,我使用了纯CSS和一些材料UI组件。为页面过渡以及编辑页面添加了一些动画。对于标题和主要元素,我使用了Futura,这是一个简单而永恒的字体,而对于身体和细节,我使用了Roboto和其他类似的Sans-Serif字体。

该网站的欢迎页面非常简单,旨在使新的访问者有兴趣进入该网站。只有一个登录按钮和提供的服务的简要摘要,因此它们不会被信息所淹没。

从拍卖页面中,用户可以按类别,搜索或过滤器浏览列表。这些类别具有层次结构,在MySQL中使用自我引用外键并在需要时在前端和后端构建树来实现。

拍卖页面具有项目的所有详细信息,并取决于买方或卖方是否正在查看它,他们会提供不同的选择。这些照片显示在旋转木马中,对于照片上传,我在后端使用了Multer API。为了显示我使用的位置,我使用了OpenStreetMap和传单。用户可以通过删除PIN或搜索来添加确切的位置。我为地图设计了一个类似宝丽来的容器,如上面的屏幕截图,在该屏幕截图中以DMS格式显示了坐标。

对于注册字段以及网站的其他形式,我使用YUP与formik库结合执行架构验证。用户的密码使用BCRypt函数存储在数据库中,该功能基于Blowfish Cipher。

在个人资料页面上,买家可以看到卖方的所有可用物品。为每个用户提供了类似的仪表板页面,其中也建议他们提供项目。推荐系统使用矩阵分解算法,而在用户访问拍卖或竞标时收集数据的数据。

除了收件箱,发件箱和发送新消息的能力外,在邮件客户端中还有一个消息接口。除了消息之外,买方可以在物品到达时对卖方进行评分,而卖方分别可以在买方完成付款后对卖方进行评分。

登录后,管理员可以批准用户应用程序,并在eBay DTD模板下以XML,JSON或CSV格式导出拍卖详细信息。另外,为了填充数据库并训练推荐算法,我以UCLA提供的XML格式使用了eBay网站上的真实数据。
该网站是使用Express,Node.js,MySQL构建的,续集和反应。