Skip to content

DsTansice/AssetOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AssetOS - Open source item holding cost tracking system

AssetOS Logo

AssetOS is an easy-to-use open source item holding cost tracking system that helps you easily manage and track the asset holding costs of individuals or companies. It supports multiple users and multiple languages, and provides rich statistical analysis functions.

ไธญๆ–‡ๆ–‡ๆกฃ

โœจ Main functions

  • ๐Ÿ“Š Asset management: Add, edit, and delete asset information, and support multiple status management
  • ๐Ÿ’ฐ Cost tracking: Automatically calculate daily holding costs and accurately grasp asset value changes
  • ๐Ÿ“ˆ Statistical reports: Rich charts and analysis reports, data visualization
  • ๐Ÿ“ค Data import and export: Support CSV format batch import and export for easy data migration
  • ๐Ÿ‘ฅ User management: Multi-user support, complete permission control system
  • ๐Ÿ”ง System settings: Custom classification, SMTP mail configuration, Webhook integration
  • ๐ŸŒ Multi-language support: Chinese/English interface, support language expansion
  • ๐Ÿ”’ Security protection: Complete user authentication and data security protection

Partial screenshots

Main interface Menu Management interface

๐Ÿš€ Quick Start

โšก One-Click Deployment (Fastest)

๐ŸŽฏ Super Quick Start - Choose your preferred method:

# Method 1: One-line curl deployment
curl -fsSL https://github.com/raw/DsTansice/AssetOS/main/quick-deploy.sh | bash

# Method 2: Direct Docker Hub pull & run
docker run -d --name assetOS -p 8080:80 -v assetOS-data:/var/www/html/db --restart unless-stopped tans0008/assetos:latest

# Method 3: With custom data directory
mkdir my-assetos-data && docker run -d --name assetOS -p 8080:80 -v $(pwd)/my-assetos-data:/var/www/html/db --restart unless-stopped tans0008/assetos:latest

๐Ÿ”ง Custom deployment options:

# Use different port (e.g., 3000)
docker run -d --name assetOS -p 3000:80 -v assetOS-data:/var/www/html/db --restart unless-stopped tans0008/assetos:latest

# With backup directory
docker run -d --name assetOS -p 8080:80 -v assetOS-data:/var/www/html/db -v assetOS-backups:/var/www/html/backups --restart unless-stopped tans0008/assetos:latest

# Check deployment status
docker ps | grep assetOS && echo "โœ… AssetOS is running at: http://localhost:8080"

๐Ÿ“ฑ After deployment:

  1. ๐ŸŒ Visit: http://localhost:8080
  2. ๐Ÿ‘ค Register first user (becomes admin)
  3. ๐ŸŽ‰ Start tracking your assets!

Method 1: Docker deployment (recommended)

Using Docker Compose (easiest)

  1. Create a project directory:
mkdir assetOS && cd assetOS
  1. Create a docker-compose.yml file:
version: '3.8'
   
   services:
     assetos:
       image: tans0008/assetos:latest
       container_name: assetOS
       ports:
         - "8080:80"
       volumes:
         - ./src:/var/www/html
         - ./data:/var/www/html/db
       environment:
         - APACHE_DOCUMENT_ROOT=/var/www/html
       restart: unless-stopped
       command: >
         bash -c "
         apt-get update &&
         apt-get install -y sqlite3 libsqlite3-dev &&
         docker-php-ext-install pdo pdo_sqlite &&
         apache2-foreground
         "
  1. Clone the project code:
git clone https://github.com/DsTansice/AssetOS.git src
mkdir data
chmod 755 data
  1. Start the container:
docker-compose up -d
  1. Visit http://localhost:8080 to start using

Direct deployment using Docker

# Pull code
git clone https://github.com/DsTansice/AssetOS.git
cd AssetOS

# Create a data directory
mkdir data
chmod 755 data

# Build and run the container
docker run -d \
  --name assetOS \
  -p 8080:80 \
  -v $(pwd):/var/www/html \
  -v $(pwd)/data:/var/www/html/db \
  --restart unless-stopped \
  tans0008/assetos:latest

# Install the SQLite extension
docker exec assetOS bash -c "apt-get update && apt-get install -y sqlite3 libsqlite3-dev && docker-php-ext-install pdo pdo_sqlite"

# Restart the container to make the extension take effect
docker restart assetOS

Method 2: Traditional deployment

Environment requirements

  • PHP 7.4 or higher
  • SQLite 3 extension
  • Web server (Apache/Nginx or PHP built-in server)

Installation steps

  1. Clone the project:

    git clone https://github.com/DsTansice/AssetOS.git
    cd AssetOS
  2. Create a database directory:

mkdir db
chmod 755 db
  1. Configure a web server or use the PHP built-in server:
# Use the PHP built-in server (development environment)
php -S localhost:8000

# Or configure Apache/Nginx to point to the project root directory
  1. Access the application and register the first user (automatically becomes an administrator)

๐Ÿ“ Directory structure

AssetOS/
โ”œโ”€โ”€ api/ # API interface
โ”‚ โ””โ”€โ”€ api.php
โ”œโ”€โ”€ asset/ # Static resources
โ”‚ โ”œโ”€โ”€ logo.png
โ”‚ โ””โ”€โ”€ favicon.ico
โ”œโ”€โ”€ css/ # Style file
โ”‚ โ””โ”€โ”€ styles.css
โ”œโ”€โ”€ db/ # Database file directory
โ”œโ”€โ”€ includes/ # Public components
โ”‚ โ”œโ”€โ”€ footer.php
โ”‚ โ””โ”€โ”€ url_encoder.php
โ”œโ”€โ”€ js/ # JavaScript file
โ”‚ โ”œโ”€โ”€ script.js
โ”‚ โ”œโ”€โ”€ theme-toggle.js
โ”‚ โ””โ”€โ”€ user-dropdown.js
โ”œโ”€โ”€ admin.php # Administrator panel
โ”œโ”€โ”€ index.php # Asset list page
โ”œโ”€โ”€ login.php # Login page
โ”œโ”€โ”€ register.php # Registration page
โ”œโ”€โ”€ menu.php # Main menu
โ”œโ”€โ”€ manage.php # Asset management page
โ”œโ”€โ”€ reports.php # Statistics report page
โ”œโ”€โ”€ settings.php # Personal settings page
โ”œโ”€โ”€ sponsor.php # Sponsorship page
โ”œโ”€โ”€ version.php # Version information
โ”œโ”€โ”€ docker-compose.yml # Docker orchestration file
โ””โ”€โ”€ README.md # Project description

๐Ÿ”ง Detailed Function

๐Ÿ“Š Asset Management

  • Add Asset: Supports name, category, purchase date, price and other information entry
  • Status Management: In use, discarded, transferred, damaged and other status
  • Batch Operation: Batch import and export in CSV format, support large-scale data processing
  • Classification Management: Customize asset classification and flexibly organize asset structure

๐Ÿ“ˆ Statistical Analysis

  • Real-time Statistics: Real-time calculation of total asset quantity, value and holding cost
  • Chart Display: Classification distribution, status analysis, trend chart
  • Cost Analysis: Daily holding cost, monthly expenditure trend analysis
  • Data Export: Statistical reports support multiple formats for export

๐Ÿ‘ฅ Users and Permissions

  • Multi-user Support: Supports multiple users to manage assets independently
  • Permission Classification: Separation of administrator and ordinary user permissions
  • Security Authentication: Complete login authentication and session management

โš™๏ธ System Configuration

  • Theme Switch: Freely switch between light and dark themes
  • Language Settings: Switch between Chinese and English interfaces
  • Mail Configuration: SMTP mail service configuration
  • Webhook: Support third-party system integration

๐Ÿ›  Technology Stack

  • Backend Framework: PHP 8.1+
  • Database: SQLite 3
  • Front-end Technology: HTML5 + CSS3 + JavaScript (ES6+)
  • UI Framework: Tailwind CSS
  • Containerization: Docker + Docker Compose
  • Version Control: Git

๐Ÿ”’ Security Features

  • SQL Injection Protection
  • XSS Attack Protection
  • CSRF Token Validation
  • User Session Management
  • Password Encryption Storage
  • File Upload Security Check

๐Ÿค Contribution Guide

We welcome all forms of contributions! Whether you are a developer, designer or user, you can contribute to the project:

Contribution methods

  • ๐Ÿ› Bug Report: Please provide feedback if you find any problems
  • ๐Ÿ’ก Feature Suggestions: Propose new features or improvement suggestions
  • ๐Ÿ“– Document Improvement: Help improve documentation and usage guides
  • ๐Ÿ”ง Code Contribution: Submit code fixes or new features
  • ๐ŸŒ Multilingual: Help translate the interface to more languages
  • ๐ŸŽจ Design Optimization: Suggest UI/UX design improvements

Development process

  1. Fork this project to your GitHub account
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit changes: git commit -m 'Add some feature'
  4. Push branch: git push origin feature/your-feature-name
  5. Create a Pull Request

Development environment setup

# Clone your forked repository
git clone https://github.com/YOUR_USERNAME/AssetOS.git
cd AssetOS

# Use Docker to quickly build a development environment
docker-compose up -d

# Or use the traditional method
php -S localhost:8000

๐Ÿ“œ Open Source License

This project adopts the dual licensing model of GPL-3.0 + Commercial License:

  • Open Source Use: Follow the GPL-3.0 license and can be used, modified and distributed freely

  • Commercial License: For corporate commercial use, please contact to obtain a commercial license

Commercial License Contact Information

  • ๐Ÿ“ง Email: [email protected]
  • ๐Ÿ“‹ Please email for detailed licensing terms

๐Ÿ’ฌ Community Exchange

Join our community to get the latest updates and technical support:

โค๏ธ Support the project

If AssetOS is helpful to you, please consider supporting the project development:

  • โญ GitHub Star: Give the project a star
  • ๐Ÿ”„ Share and recommend: Recommend to more friends in need
  • ๐Ÿ› Feedback and suggestions: Help us find and fix problems
  • ๐Ÿ’ฐ Sponsorship support: Sponsor project development
  • ๐Ÿค Code contribution: Participate in the development to make the project better

๐Ÿ”— Related links

๐Ÿ“Š Project Status

GitHub stars GitHub forks GitHub issues GitHub license GitHub last commit


ยฉ 2025 DsTansice - AssetOS ๅผ€ๆบ็‰ฉๅ“ๆŒๆœ‰ๆˆๆœฌ่ฟฝ่ธช็ณป็ปŸ

่ฎฉ่ต„ไบง็ฎก็†ๅ˜ๅพ—็ฎ€ๅ•้ซ˜ๆ•ˆ โœจ

About

AssetOS - Open source item holding cost tracking system

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published