A modern, full-stack web application for parsing SQLite database files and exporting data to CSV format. Built with Node.js, Express, and a sleek glassmorphism UI with animated particle backgrounds.
- Features
- Quick Start
- Deployment
- Usage
- Tech Stack
- Project Structure
- Contributing
- Troubleshooting
- License
- Author
- Acknowledgments
- File Upload: Drag-and-drop or browse SQLite database files (
.db,.sqlite3) - Table Discovery: Automatically list all tables in uploaded databases
- CSV Export: Export individual tables or all tables to CSV format
- Serverless Ready: Deploy on Vercel with zero configuration
- Local Development: Full Express.js server for local development
- Auto Cleanup: Automatic cleanup of temporary uploaded files
- Responsive: Works seamlessly on desktop, tablet, and mobile devices
- Node.js 18+
- npm or yarn
- Clone the repository
git clone https://github.com/gitgyana/SQLite_Parser.git
cd SQLite_Parser
- Install dependencies
npm install
- Start the development server
npm start
if faced with errors, try
npm install cors
node index.js
- Open your browser
http://localhost:3000
-
Fork/Clone this repository
-
Connect to Vercel
- Visit vercel.com
- Import your GitHub repository
- Deploy with default settings
-
Environment Setup
- No additional environment variables required
- Vercel automatically handles the serverless functions
For other platforms (Railway, Heroku, etc.):
npm install
npm start
or
npm install cors
node index.js
- Upload Database: Click "Choose File" and select your SQLite database
- Select Tables: Choose specific tables or "All Tables" from the dropdown
- Export: Click "Export to CSV" to download your data
Upload a database file and get list of tables.
Request:
- Method:
POST - Content-Type:
multipart/form-data - Body:
dbFile(SQLite database file)
Response:
{
"tables": ["users", "products", "orders"]
}
Export table data to CSV format.
Request:
- Method:
POST - Content-Type:
multipart/form-data - Body:
dbFile(SQLite database file)table(table name or "ALL")
Response:
- CSV file download
- Node.js - Runtime environment
- Express.js - Web framework
- SQLite3 - Database driver
- Multer - File upload middleware
- CSV-Writer - CSV generation
- HTML5 - Semantic markup
- CSS3 - Modern styling with CSS variables
- JavaScript - Interactive functionality
- Canvas API - Particle animation system
- Vercel - Serverless hosting platform
- GitHub - Version control and CI/CD
SQLite_Parser/
├── api/ # Vercel serverless functions
│ ├── tables.js # Table listing endpoint
│ └── export.js # CSV export endpoint
├── public/ # Static frontend files
│ ├── index.html # Main HTML file
│ ├── style.css # Styling and CSS variables
│ ├── animation.js # Backdrop Animation
│ └── sql.js # Frontend JavaScript
├── uploads/ # Temporary file storage (local)
├── output/ # Generated CSV files (local)
├── index.js # Express server for local development
├── package.json # Dependencies and scripts
├── LICENSE # License 1.0
└── README.md # Project documentation
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name
- Make your changes
- Commit with conventional commits
git commit -m "feat: add new feature"
- Push to your branch
git push origin feature/your-feature-name
- Open a Pull Request
- Use ESLint and Prettier for code formatting
- Follow conventional commit messages
- Add tests for new features
- Update documentation as needed
"Failed to open DB" error
- Ensure the uploaded file is a valid SQLite database
- Check file permissions and format
"Table is empty" error
- Verify the selected table contains data
- Try selecting "All Tables" to see available options
Local server won't start
- Check if port 3000 is available
- Run
npm installto ensure dependencies are installed - Verify Node.js version (18+ required)
This project is licensed under the License 1.0 (2025).
Copyright (c) 2025 Gyana Priyadarshi
Permission is hereby granted, free of charge, to use, copy, modify, and to permit others to do so, subject to the following conditions:
- The above copyright notice must be included in all copies or substantial portions of the Software.
- You must provide appropriate attribution for any modifications or derived works.
- This software is provided "as is", without warranty of any kind, express or implied.
- This license may be terminated if the terms are violated.
Gyana Priyadarshi
- GitHub: @gitgyana
- Thanks to the open-source community for the amazing libraries
- Inspired by modern web design trends and glassmorphism
- Built with performance and user experience in mind
⭐ Star this repository if you find it helpful!