{"id":27247638,"url":"https://github.com/aoof/lci-database-manager","last_synced_at":"2026-04-26T22:31:43.790Z","repository":{"id":285002075,"uuid":"956751838","full_name":"Aoof/lci-database-manager","owner":"Aoof","description":"A simple and efficient interface for managing SQL databases. Easily run queries, edit tables, and view data in a clean, user-friendly environment. Designed for convenience, it streamlines essential database tasks without unnecessary complexity. (MongoDB count your days)","archived":false,"fork":false,"pushed_at":"2025-11-11T22:00:22.000Z","size":430,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-13T03:33:30.131Z","etag":null,"topics":["data-management","database","database-editor","database-management","db-tool","dev-tool","sql","sql-gui","sql-interface","sql-query"],"latest_commit_sha":null,"homepage":"https://lci-database-manager.vercel.app","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aoof.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-28T19:53:10.000Z","updated_at":"2025-11-11T22:00:27.000Z","dependencies_parsed_at":"2025-04-10T22:58:27.106Z","dependency_job_id":"339095e4-9890-4e9b-b1ea-87d6d284698d","html_url":"https://github.com/Aoof/lci-database-manager","commit_stats":null,"previous_names":["aoof/lci-database-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Aoof/lci-database-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aoof%2Flci-database-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aoof%2Flci-database-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aoof%2Flci-database-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aoof%2Flci-database-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aoof","download_url":"https://codeload.github.com/Aoof/lci-database-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aoof%2Flci-database-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32315711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T21:09:39.134Z","status":"ssl_error","status_checked_at":"2026-04-26T21:09:21.240Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-management","database","database-editor","database-management","db-tool","dev-tool","sql","sql-gui","sql-interface","sql-query"],"created_at":"2025-04-10T22:58:25.023Z","updated_at":"2026-04-26T22:31:43.784Z","avatar_url":"https://github.com/Aoof.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LCI Database Manager 🗄️\n\nA modern, interactive web-based database management system built as a final project for the **Databases 1** course at **Collège LaSalle Montréal**. This application provides a comprehensive interface for managing SQL databases with support for creating tables, managing data, and visualizing database schemas.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [Database Schema](#database-schema)\n- [Our Team](#our-team)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Overview\n\n**LCI Database Manager** is a full-stack web application that demonstrates practical implementation of database concepts including normalization (3NF), schema design, SQL operations, and modern web development practices. The project combines theoretical database knowledge with hands-on implementation through an interactive user interface.\n\nThis project was developed under the guidance of **Professor Huu Con Nguyen** and showcases our team's expertise in both database design and web development.\n\n## Features\n\n✅ **Interactive Database Management**\n\n- Create, edit, and delete database tables with a user-friendly interface\n- Add, update, and remove rows with validation\n- Support for primary keys, foreign keys, unique constraints, and check constraints\n- Real-time data filtering and searching\n\n✅ **Advanced Table Operations**\n\n- Sortable columns with visual indicators\n- Pagination for large datasets\n- Column type enforcement and validation\n- Constraint visualization (PK, FK, UQ, CHK badges)\n\n✅ **SQL Command Integration**\n\n- Comprehensive SQL command reference (50+ commands)\n- Support for DDL, DML, DQL operations\n- Transaction management\n- User and permission management\n\n✅ **3NF Compliant Schema**\n\n- Properly normalized database structure\n- Seven-table relational schema (Customers, Categories, Suppliers, Products, Orders, Order_Details, System_Users)\n- Entity-relationship diagram visualization\n\n✅ **Modern UI/UX**\n\n- Responsive design for all devices\n- Dark theme enforced for better visual experience\n- Interactive dialogs and modals\n- Toast notifications for user feedback\n- Smooth animations and transitions\n\n✅ **Database Reporting**\n\n- Schema analysis and visualization\n- SQL feature implementation showcase\n- Mermaid diagram integration for ER diagrams\n\n## Technologies Used\n\n### Frontend\n\n- **[Svelte 5](https://svelte.dev/)** - Modern reactive JavaScript framework\n- **[SvelteKit](https://kit.svelte.dev/)** - Full-stack Svelte framework\n- **[TypeScript](https://www.typescriptlang.org/)** - Type-safe JavaScript\n- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first CSS framework\n- **[shadcn-svelte](https://www.shadcn-svelte.com/)** - Reusable UI component library\n- **[Bits UI](https://www.bits-ui.com/)** - Headless UI components\n\n### Backend\n\n- **[Node.js](https://nodejs.org/)** - JavaScript runtime\n- **[Neon Database](https://neon.tech/)** - Serverless PostgreSQL\n- **[@neondatabase/serverless](https://www.npmjs.com/package/@neondatabase/serverless)** - PostgreSQL client for serverless environments\n- **[Axios](https://axios-http.com/)** - HTTP client for API requests\n\n### Development Tools\n\n- **[Vite](https://vitejs.dev/)** - Fast build tool and development server\n- **[ESLint](https://eslint.org/)** - JavaScript linter\n- **[Prettier](https://prettier.io/)** - Code formatter\n- **[TypeScript ESLint](https://typescript-eslint.io/)** - TypeScript-specific linting rules\n\n### Additional Libraries\n\n- **[Marked](https://marked.js.org/)** - Markdown parser\n- **[Mermaid](https://mermaid.js.org/)** - Diagram and chart generation\n- **[Highlight.js](https://highlightjs.org/)** - Syntax highlighting\n- **[Svelte Sonner](https://svelte-sonner.vercel.app/)** - Toast notifications\n- **[Lucide Icons](https://lucide.dev/)** - Beautiful icon set\n- **[Mode Watcher](https://github.com/huntabyte/mode-watcher)** - Theme management\n\n## Installation\n\n### Prerequisites\n\n- **Node.js** (v18 or higher)\n- **npm** or **pnpm** or **yarn**\n- A **Neon Database** account (or any PostgreSQL database)\n\n### Steps\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/shayandelbari/lci-database-manager.git\n   cd lci-database-manager\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   npm install\n   # or\n   pnpm install\n   # or\n   yarn install\n   ```\n\n3. **Set up environment variables:**\n\n   Create a `.env` file in the root directory with your database connection string:\n\n   ```env\n   DATABASE_URL=your_neon_database_connection_string\n   ```\n\n4. **Run database migrations (optional):**\n\n   If you have SQL scripts in the `docs/` directory, you can run them against your database to set up the initial schema.\n\n5. **Start the development server:**\n\n   ```bash\n   npm run dev\n   # or start the server and open the app in a new browser tab\n   npm run dev -- --open\n   ```\n\n6. **Access the application:**\n\n   Navigate to `http://localhost:5173` in your browser.\n\n## Usage\n\n### Database Manager\n\n1. Navigate to `/database-manager` to access the main database management interface\n2. Select a table from the dropdown to view and manage its data\n3. Use the **Create Table** button to add new tables with custom columns and constraints\n4. **Add Row** to insert new data into the selected table\n5. **Edit** or **Delete** rows using the action buttons in each row\n6. Apply **filters** to search and filter data based on column values\n7. Use **sorting** by clicking on column headers\n\n### SQL Command Reference\n\nVisit the application to view a comprehensive guide of 50+ SQL commands organized by category:\n\n- Data Retrieval (SELECT, GROUP BY, HAVING, etc.)\n- Data Manipulation (INSERT, UPDATE, DELETE)\n- Data Definition (CREATE TABLE, ALTER TABLE, DROP TABLE)\n- Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL)\n- Transactions (COMMIT, ROLLBACK, SAVEPOINT)\n- User Management (CREATE USER, GRANT, DROP USER)\n- And much more!\n\n### Building for Production\n\nTo create a production build:\n\n```bash\nnpm run build\n```\n\nPreview the production build:\n\n```bash\nnpm run preview\n```\n\nTo start the production server:\n\n```bash\nnpm start\n```\n\n\u003e **Note:** You may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target deployment environment. This project includes both `@sveltejs/adapter-node` and `@sveltejs/adapter-vercel`.\n\n## Project Structure\n\n```plaintext\nlci-database-manager/\n├── docs/                          # SQL scripts and documentation\n│   ├── 1.sql through 8.sql       # Database implementation scripts\n├── src/\n│   ├── lib/\n│   │   ├── components/           # Reusable Svelte components\n│   │   │   ├── db-command/       # SQL command documentation\n│   │   │   ├── filter-dialog/    # Data filtering interface\n│   │   │   ├── home/             # Home page component\n│   │   │   ├── report/           # Database analysis report\n│   │   │   ├── row-dialog/       # Row add/edit dialog\n│   │   │   ├── table-dialog/     # Table creation dialog\n│   │   │   └── ui/               # shadcn-svelte UI components\n│   │   ├── server/               # Server-side code\n│   │   │   └── db/               # Database connection and queries\n│   │   ├── stores/               # Svelte stores for state management\n│   │   │   ├── database.ts       # Database state\n│   │   │   ├── databaseStore.ts  # Database operations\n│   │   │   └── tableStore.ts     # Table operations and data\n│   │   ├── types/                # TypeScript type definitions\n│   │   └── utils/                # Utility functions\n│   ├── routes/                   # SvelteKit routes\n│   │   ├── api/                  # API endpoints\n│   │   ├── database-manager/     # Database manager page\n│   │   ├── report/               # Report page\n│   │   ├── +layout.svelte        # Root layout\n│   │   └── +page.svelte          # Home page\n│   ├── app.css                   # Global styles\n│   └── app.html                  # HTML template\n├── static/                       # Static assets\n├── .prettierrc                   # Prettier configuration\n├── eslint.config.js              # ESLint configuration\n├── package.json                  # Dependencies and scripts\n├── svelte.config.js              # Svelte configuration\n├── tailwind.config.ts            # Tailwind CSS configuration\n├── tsconfig.json                 # TypeScript configuration\n├── vite.config.ts                # Vite configuration\n├── sql-command-summary.md        # SQL commands reference\n└── README.md                     # This file\n```\n\n## Database Schema\n\nThe database implements a **Third Normal Form (3NF)** compliant schema with the following tables:\n\n- **Customers** - Customer personal information\n- **Categories** - Product categorization\n- **Suppliers** - Supplier information\n- **Products** - Inventory management with relationships\n- **Orders** - Order headers with customer references\n- **Order_Details** - Many-to-many relationship between orders and products\n- **System_Users** - System access and permissions\n\nFor detailed schema analysis and implementation, visit the `/report` page in the application.\n\n## Our Team\n\nThis project was collaboratively developed by a dedicated team of students from **Collège LaSalle Montréal**:\n\n- **[Abdulrahman Mousa](https://github.com/abdulrahman)** – Website Frontend, database integration specialist\n- **[Shayan Delbari](https://github.com/shayandelbari)** – Website Backend, server-side database interactions\n- **Sofia Saldumbide Rissotto** – Database design and implementation specialist\n- **Akshay Kheterpal** – Database normalization and optimization specialist\n\n**Course Instructor:** Professor Huu Con Nguyen\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute to this project, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature-branch`)\n3. Make your changes\n4. Run linting and formatting:\n   ```bash\n   npm run lint\n   npm run format\n   ```\n5. Commit your changes (`git commit -m 'Add some feature'`)\n6. Push to the branch (`git push origin feature-branch`)\n7. Open a Pull Request\n\n## License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.\n\n---\n\n**Built with ❤️ by the LCI Database Management Team**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoof%2Flci-database-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faoof%2Flci-database-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoof%2Flci-database-manager/lists"}