Skip to content

Spycall/ManageAssets

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ManageAssets - Unified Inventory and Asset Management System

A comprehensive asset management system with blockchain transparency via StarkNet for critical events like asset acquisition, transfer, and disposal.

Features

  • Asset Registration & Management: Complete lifecycle management with QR codes and digital tracking
  • Inventory Management: Real-time stock tracking with low inventory alerts
  • Multi-Branch Support: Manage assets across multiple locations
  • Assignment & Ownership: Track asset assignments to employees and departments
  • Maintenance Scheduling: Preventive and corrective maintenance tracking
  • Check-in/Check-out System: Temporary asset usage tracking with QR scanning
  • Audit Trail & StarkNet Integration: Immutable blockchain records for critical events
  • Role-Based Access Control: Fine-grained permissions system
  • Comprehensive Reporting: Asset distribution, depreciation, and performance analytics

Tech Stack

  • Frontend: Next.js 14 (App Router), TypeScript, TailwindCSS, shadcn/ui
  • Backend: NestJS, TypeORM, PostgreSQL
  • Blockchain: StarkNet (Cairo 1.0) for on-chain transparency
  • Authentication: JWT with role-based access control
  • Real-time: WebSockets for notifications
  • File Storage: Local storage with cloud integration support

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL 14+
  • Docker and Docker Compose (optional)
  • StarkNet account (for blockchain features)

Quick Start with Docker

  1. Clone the repository: ```bash git clone https://github.com/yourusername/manageassets.git cd manageassets ```

  2. Create environment files: ```bash cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env ```

  3. Start the application: ```bash docker-compose up -d ```

The application will be available at:

Manual Setup

Backend Setup

  1. Navigate to the backend directory: ```bash cd backend ```

  2. Install dependencies: ```bash npm install ```

  3. Set up the database: ```bash

Create a PostgreSQL database named 'manageassets'

createdb manageassets ```

  1. Configure environment variables: ```bash cp .env.example .env

Edit .env with your database credentials and other settings

```

  1. Run database migrations: ```bash npm run migration:run ```

  2. Seed the database (optional): ```bash npm run seed ```

  3. Start the development server: ```bash npm run start:dev ```

Frontend Setup

  1. Navigate to the frontend directory: ```bash cd frontend ```

  2. Install dependencies: ```bash npm install ```

  3. Configure environment variables: ```bash cp .env.example .env

Edit .env with your API URL

```

  1. Start the development server: ```bash npm run dev ```

StarkNet Setup (Optional)

  1. Navigate to the StarkNet directory: ```bash cd starknet ```

  2. Install Scarb (Cairo package manager): ```bash curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh ```

  3. Build contracts: ```bash scarb build ```

  4. Deploy contracts: ```bash ./scripts/deploy.sh ```

  5. Update backend .env with deployed contract addresses

Default Credentials

After seeding the database, you can use these credentials:

Project Structure

``` manageassets/ ├── frontend/ # Next.js frontend application │ ├── app/ # App router pages │ ├── components/ # React components │ ├── lib/ # Utilities and API client │ └── public/ # Static assets ├── backend/ # NestJS backend application │ ├── src/ │ │ ├── assets/ # Asset management module │ │ ├── auth/ # Authentication module │ │ ├── inventory/ # Inventory management module │ │ ├── maintenance/ # Maintenance tracking module │ │ ├── branches/ # Multi-branch support │ │ ├── audit/ # Audit trail module │ │ └── starknet/ # StarkNet integration │ └── uploads/ # File storage └── starknet/ # Cairo smart contracts ├── src/ # Contract source files └── scripts/ # Deployment scripts ```

API Documentation

The API documentation is available at http://localhost:3001/api/docs when the backend is running.

Key Features Documentation

Asset Management

  • Register assets with detailed information
  • Generate and print QR codes
  • Track asset lifecycle from acquisition to disposal
  • Assign assets to users or departments
  • Transfer assets between branches

Inventory Management

  • Track consumable items with quantity-based management
  • Set reorder points and receive low stock alerts
  • Record stock transactions with full history
  • Generate inventory valuation reports

Maintenance Tracking

  • Schedule preventive maintenance
  • Log repairs and associated costs
  • Track asset downtime and performance
  • Generate maintenance cost reports

Blockchain Integration

  • Immutable audit trail for critical events
  • On-chain proof of asset ownership
  • Transparent asset lifecycle tracking
  • Optional NFT-like certificates for high-value items

Reporting & Analytics

  • Asset distribution heatmaps
  • Depreciation calculations and forecasts
  • Maintenance vs expense trends
  • Performance and downtime analytics
  • Custom report generation

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, email support@manageassets.com or open an issue in the GitHub repository.

Acknowledgments

  • Built with Next.js, NestJS, and StarkNet
  • UI components from shadcn/ui
  • Icons from Lucide React

About

An inventory and asset management system that allows businesses to track, register, monitor, and manage their physical and digital assets across departments and branches, with on-chain transparency via StarkNet for critical events like asset acquisition, transfer, and disposal.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 89.7%
  • Cairo 5.9%
  • PLpgSQL 2.0%
  • JavaScript 1.0%
  • CSS 0.6%
  • Dockerfile 0.4%
  • Shell 0.4%