Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kcybe/serium

Repository files navigation

Serium Logo
Serium

Modern, Intuitive Inventory Management.
Built for speed, collaboration, and clarity.

Live Demo Latest Release License Buy Me A Coffee

AboutFeaturesTech StackGetting StartedUsageDeploymentContributingLicenseContact

Serium Screenshot Dark

🌟 About The Project

Serium is designed to solve the common frustrations of inventory management. Whether you're a small business owner, a hobbyist with a growing collection, or part of a team needing to track assets, Serium provides a clean, powerful, and collaborative platform. Say goodbye to clunky spreadsheets and outdated software – Serium brings a modern web experience to managing your items effectively.

Our goal is to provide an intuitive interface packed with smart features that save you time and give you clear insights into your inventory.

✨ Key Features

  • 🗂️ Customizable Tagging: Effortlessly organize items with flexible, auto-suggested tags for granular categorization.
  • 🔍 Intelligent Search & Filtering: Quickly locate items using powerful search capabilities and dynamic filters.
  • 📱 Modern & Responsive UI: Enjoy a consistent and intuitive experience across desktop, tablet, and mobile devices.
  • 📜 Audit Trail / Activity Log: Keep track of all changes made to your inventory for accountability and history.
  • 🔄 Import/Export Data: Easily migrate your existing inventory data into Serium or export your data in common formats (e.g., CSV, JSON).
  • 🎨 Themeable Interface: Light and Dark mode support for comfortable viewing.

🛠️ Tech Stack

Serium is built with a modern, robust, and scalable technology stack:

  • Frontend: React with Next.js (App Router)
  • Backend: Next.js API Routes
  • Database ORM: Prisma
  • Styling: Tailwind CSS with shadcn/ui components
  • Authentication: [Specify your auth library, e.g., NextAuth.js, Clerk, Supabase Auth, Better Auth]
  • State Management: [Specify if using Zustand, Jotai, Redux, or React Context heavily]
  • Forms: React Hook Form with Zod for validation
  • UI Components: Custom components built with shadcn/ui primitives.
  • Tag Input: Emblor TagInput (as mentioned in your credits)

🚀 Getting Started

Follow these instructions to get a copy of Serium up and running on your local machine for development and testing purposes.

Prerequisites

  • Node.js (v18.x or later recommended)
  • npm or yarn
  • Git
  • A database supported by Prisma (e.g., PostgreSQL, MySQL, SQLite). PostgreSQL is often recommended for development and production.

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/kcybe/serium.git
    cd serium
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Set up environment variables:

    • Copy the example environment file:

      cp .env.example .env
    • Open the .env file and fill in your specific credentials and configurations:

      DATABASE_URL="your_postgresql_or_mysql_or_sqlite_connection_string" # Example: postgresql://user:password@host:port/database or file:./prod.db
      
      # Authentication
      BETTER_AUTH_URL="http://localhost:3000" # Or your production URL
      BETTER_AUTH_SECRET="generate_a_strong_random_secret_string" # Run `openssl rand -hex 32` in your terminal

      Important: BETTER_AUTH_SECRET is crucial for security. Generate a strong, unique secret.

  4. Set up the database with Prisma:

    • Apply database migrations:
      npx prisma migrate dev
      This will create your database schema based on prisma/schema.prisma. If it's the first time, it might also prompt you to create the database if it doesn't exist.
  5. Generate Prisma Client: Although often included in postinstall or build scripts, you can run it manually:

    npx prisma generate
  6. Run the development server:

    npm run dev
    # or
    yarn dev

    The application should now be running at http://localhost:3000.

Usage

Once the application is running:

  1. Navigate to http://localhost:3000 in your browser.
  2. Sign up for a new account or sign in if you have existing credentials.
  3. Start creating inventories, adding items, and organizing with tags.
  4. Explore the dashboard, search functionality, and activity logs.

☁️ Deployment

Serium is designed to be easily deployable on various platforms.

Vercel Setup

Recommended for Next.js applications. Connect your GitHub repository for seamless CI/CD. Ensure all environment variables are set in your Vercel project settings.

🐳 Docker Setup

Serium is easily deployable with Docker. Here's a full guide to run it in a containerized environment.

  1. Build the Docker image:

    docker build \
      --build-arg DATABASE_URL="your_database_url_here" \
      -t serium-webapp .

    Replace your_database_url_here with your actual PostgreSQL connection string, for example:

    postgresql://user:password@host:port/database?sslmode=require
  2. Run the Docker container:

    docker run -p 3000:3000 \
      -e DATABASE_URL="your_database_url_here" \
      -e BETTER_AUTH_URL="http://your-server-ip:3000" \
      -e BETTER_AUTH_SECRET="your_super_secret" \
      serium-webapp
    • BETTER_AUTH_URL should point to the public IP or domain of the machine running the container.
    • BETTER_AUTH_SECRET must match the secret used in your auth configuration.
  3. Access the app:

    Open your browser and go to:

    http://localhost:3000
    

    Or replace localhost with your server IP if running remotely:

    http://your-server-ip:3000
    

⚙️ Recommended .dockerignore

Ensure your .dockerignore file includes the following to keep your Docker image lean and secure:

node_modules
.next
.env
.DS_Store
.git
*.log

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

Please read CONTRIBUTING.md (create this file) for details on our code of conduct, and the process for submitting pull requests to us.

📜 License

Distributed under the MIT License. See LICENSE file for more information.

🙏 Credits & Acknowledgements

Serium wouldn't be possible without these incredible open-source projects and tools:

📞 Contact

Noam Yu / Project Maintainer - @kcybe - [email protected]

Project Link: https://github.com/kcybe/serium


Built with ❤️ by noamyu.dev

About

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages