Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

eooce/nav-item

Open more actions menu

Repository files navigation

Nav-item - 个人导航站

项目简介

一个现代化的导航网站项目,提供简洁美观的导航界面和强大的后台管理系统,快速访问常用网站和工具。

🛠️ 技术栈

  • Vue 3 + Node.js + SQLite 前后端分离架构

✨ 主要功能

前端功能

  • 🏠 首页导航:美观的卡片式导航界面
  • 🔍 聚合搜索:支持 Google、百度、Bing、GitHub、站内搜索
  • 📱 响应式设计:完美适配桌面端和移动端
  • 🎨 现代化UI:采用渐变背景和毛玻璃效果
  • 🔗 友情链接:支持友情链接展示
  • 📢 广告位:支持左右两侧广告位展示

后台管理功能

  • 👤 用户管理:管理员登录、用户信息管理
  • 📋 栏目管理:主菜单和子菜单的增删改查
  • 🃏 卡片管理:导航卡片的增删改查
  • 📢 广告管理:广告位的增删改查
  • 🔗 友链管理:友情链接的增删改查
  • 📊 数据统计:登录时间、IP等统计信息

技术特性

  • 🔐 JWT认证:安全的用户认证机制
  • 🗄️ SQLite数据库:轻量级数据库,无需额外配置
  • 📤 文件上传:支持图片上传功能
  • 🔍 搜索功能:支持站内搜索和外部搜索
  • 📱 移动端适配:完美的移动端体验

🏗️ 项目结构

nav-item/
├── app.js                 # 后端主入口文件
├── config.js             # 配置文件
├── db.js                 # 数据库初始化
├── package.json          # 后端依赖配置
├── database/             # 数据库文件目录
│   └── nav.db           # SQLite数据库文件
├── routes/               # 后端路由
│   ├── auth.js          # 认证相关路由
│   ├── menu.js          # 菜单管理路由
│   ├── card.js          # 卡片管理路由
│   ├── ad.js            # 广告管理路由
│   ├── friend.js        # 友链管理路由
│   ├── user.js          # 用户管理路由
│   └── upload.js        # 文件上传路由
├── uploads/              # 上传文件目录
│   └── default-favicon.png
├── web/                  # 前端项目目录
│    ├── package.json      # 前端依赖配置
│    ├── vite.config.mjs   # Vite配置文件
│    ├── index.html        # HTML入口文件
│    ├── public/           # 静态资源
│    │   ├── background.webp
│    │   ├── default-favicon.png
│    │   └── robots.txt
│    └── src/              # 前端源码
│        ├── main.js       # Vue应用入口
│        ├── router.js     # 路由配置
│        ├── api.js        # API接口封装
│        ├── App.vue       # 根组件
│        ├── components/   # 公共组件
│        │   ├── MenuBar.vue
│        │   └── CardGrid.vue
│        └── views/        # 页面组件
│            ├── Home.vue  # 首页
│            ├── Admin.vue # 后台管理
│            └── admin/    # 后台管理子页面
│                ├── MenuManage.vue
│                ├── CardManage.vue
│               ├── AdManage.vue
│               ├── FriendLinkManage.vue
│               └── UserManage.vue
├── Dockerfile # Docker构建文件

⚙️ 环境变量及配置说明

环境变量

  • PORT: 服务器端口号(默认: 3000)
  • ADMIN_USERNAME: 管理员用户名(默认: admin)
  • ADMIN_PASSWORD: 管理员密码(默认: 123456)

数据库配置

系统使用 SQLite 数据库,数据库文件会自动创建在项目/database/目录下,使用docker部署请挂载/app/database目录实现数据持久化


## 🚀 部署指南

### 源代码部署

#### 1. 克隆项目
```bash
git clone https://github.com/eooce/nav-Item.git
cd nav-item

2. 安装后端依赖

npm install

3. 构建前端

cd web && npm install && npm run build

4. 启动后端服务

# 在项目根目录
cd .. && npm start

6. 访问应用

Docker 部署

1:docker快速部署

docker run -d \
  --name nav-item \
  -p 3000:3000 \
  -v $(pwd)/database:/app/database \
  -v $(pwd)/uploads:/app/uploads \
  -e NODE_ENV=production \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD=123456 \
  eooce/nav-item

2: docker-compose.yaml 部署

version: '3'

services:
  nav-item:
    image: eooce/nav-item
    container_name: nav-item
    ports:
      - "3000:3000"
    environment:
      - PORT=3000             # 监听端口
      - ADMIN_USERNAME=admin  # 后台用户名
      - ADMIN_PASSWORD=123456 # 后台密码
    volumes:
      - ./database:/app/database  # 持久化数据库
    restart: unless-stopped

3: docker容器等使用docker image配合环境变量部署

eooce/nav-item

ghcr.io/eooce/nav-item:latest

serv00|ct8|Hostuno 一键安装脚本

  • 环境变量,放在脚本前,随脚本一起运行,英文空隔隔开
  • 后台管理用户名和密码默认分别为为admin123456
    • DOMAIN为自定义站点域名
bash <(curl -Ls https://github.com/eooce/nav-item/releases/download/ct8-and-serv00/install.sh) 

🤝 贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

👨‍💻 作者

eooce - GitHub

🙏 致谢

感谢所有为这个项目做出贡献的开发者!


⭐ 如果这个项目对你有帮助,请给它一个星标!

About

导航站

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.