Skip to content

S-YED/GECR-STORE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GECR STORE - Equipment Management System

GECR STORE + An equipment inventory management system with comprehensive functionality for managing laboratory equipment across departments.

🌐 Live Demo

Try it now: https://s-yed.github.io/GECR-STORE/

Login with any credentials:

  • Email: demo@example.com (or any email)
  • Password: password123 (or any password)

The demo includes 21+ sample equipment items across 4 departments with full functionality.

✨ Features

  • Equipment Management - Add, edit, delete, and search equipment records
  • Department Management - Organize equipment by departments
  • User Authentication - Secure login/signup system
  • Audit Trail - Track all equipment operations with detailed logs
  • Real-time Search - Live search with debouncing
  • Export Functionality - Export data to CSV format
  • Responsive Design - Works on desktop, tablet, and mobile
  • Demo Mode - Run without database setup for testing

πŸš€ Quick Start (Demo Mode)

Option 1: Try Online Demo

Option 2: Run Locally

git clone https://github.com/S-YED/GECR-STORE.git
cd GECR-STORE
npm install
npm run dev

Open http://localhost:3000 and login with any email/password.

πŸ› οΈ Tech Stack

  • Frontend: Vite + Vanilla JavaScript
  • Database: Supabase (PostgreSQL)
  • Styling: Custom CSS with luxury effects
  • Authentication: Supabase Auth
  • Build Tool: Vite

πŸ“‹ Prerequisites

πŸ”§ Installation & Setup

1. Clone Repository

git clone https://github.com/S-YED/GECR-STORE.git
cd GECR-STORE

2. Install Dependencies

npm install

3. Choose Your Mode

Option A: Demo Mode (Recommended for Testing)

The project runs in demo mode by default with sample data. No additional setup required.

npm run dev

Option B: Production Mode (With Real Database)

  1. Create Supabase Project:

    • Go to supabase.com
    • Create a new project
    • Wait for setup to complete
  2. Get Credentials:

    • Go to Settings β†’ API
    • Copy your Project URL and anon/public key
  3. Configure Environment:

    • Edit .env file
    • Replace demo values with your credentials:
    VITE_SUPABASE_URL=https://your-project.supabase.co
    VITE_SUPABASE_SUPABASE_ANON_KEY=your-anon-key-here
  4. Setup Database:

    • Go to SQL Editor in Supabase
    • Run the migration file: supabase/migrations/20251010090639_create_equipment_inventory_schema.sql
  5. Start Application:

    npm run dev

🎯 Usage

Demo Mode

  • Login: Use any email/password (e.g., demo@example.com / password123)
  • Sample Data: 21+ equipment items across 4 departments
  • Full Functionality: All features work with mock data
  • Live Demo: https://s-yed.github.io/GECR-STORE/

Production Mode

  • Register: Create a new account
  • Login: Use your registered credentials
  • Real Database: All data persists in Supabase

Core Features

  1. Dashboard - View equipment inventory with statistics
  2. Add Equipment - Fill in equipment details and assign to departments
  3. Search & Filter - Find equipment by name, order number, or supplier
  4. Edit/Delete - Modify or remove equipment records
  5. Departments - Manage organizational departments
  6. Audit Logs - View detailed change history
  7. Export - Download data as CSV files

πŸ“ Project Structure

GECR-STORE/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”‚   └── Navbar.js
β”‚   β”œβ”€β”€ lib/                # Core libraries
β”‚   β”‚   β”œβ”€β”€ auth.js         # Authentication logic
β”‚   β”‚   β”œβ”€β”€ router.js       # Client-side routing
β”‚   β”‚   └── supabase.js     # Database configuration
β”‚   β”œβ”€β”€ pages/              # Application pages
β”‚   β”‚   β”œβ”€β”€ DashboardPage.js
β”‚   β”‚   β”œβ”€β”€ LoginPage.js
β”‚   β”‚   β”œβ”€β”€ DepartmentsPage.js
β”‚   β”‚   └── AuditPage.js
β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   └── main.css        # Premium styling
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── helpers.js      # Utility functions
β”‚   └── main.js             # Application entry point
β”œβ”€β”€ supabase/
β”‚   └── migrations/         # Database schema
β”œβ”€β”€ static/                 # Static assets
β”œβ”€β”€ templates/              # Legacy Flask templates
β”œβ”€β”€ .env                    # Environment configuration
β”œβ”€β”€ package.json
β”œβ”€β”€ vite.config.js
└── README.md

🎨 UI Features

  • Glassmorphism Effects with backdrop blur
  • Animated Components with smooth transitions
  • Responsive Design for all screen sizes
  • Custom Scrollbars with gradient styling

πŸ”’ Security Features

  • Row Level Security (RLS) on all database tables
  • User Authentication with secure password hashing
  • Protected Routes requiring authentication
  • Audit Logging for all data changes
  • Input Validation and sanitization

πŸ“Š Sample Data

The demo includes realistic equipment data:

  • Signal generators, oscilloscopes, CNC machines
  • Network equipment, testing instruments
  • Pricing from β‚Ή3,500 to β‚Ή8,50,000
  • Multiple departments and lab locations

πŸš€ Deployment

Build for Production

npm run build

Deploy to Vercel

npm install -g vercel
vercel --prod

Deploy to Netlify

npm run build
# Upload dist/ folder to Netlify

🀝 Contributing

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

πŸ“ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Author

@S-YED - GitHub Profile

πŸ†˜ Troubleshooting

Common Issues

Blank Page:

  • Check browser console for errors
  • Ensure Node.js 16+ is installed
  • Try npm install again

Login Issues in Demo Mode:

  • Any email/password works in demo mode
  • Check console for "Running in demo mode" message

Database Connection Issues:

  • Verify Supabase credentials in .env
  • Check if migration was run successfully
  • Ensure project is not paused in Supabase

Build Errors:

  • Delete node_modules and run npm install
  • Check Node.js version with node --version

Getting Help

  • Open an issue on GitHub
  • Check existing issues for solutions
  • Review console logs for error details

🌟 Star this repository if you found it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors