Data-Verse is a data processing and visualization platform designed to handle large datasets efficiently. It provides tools for uploading, previewing, processing, and visualizing data, making it ideal for data analysts and researchers.
- File upload and preview.
- Data processing pipelines.
- Interactive data visualization.
- Secure API endpoints with JWT authentication.
- Scalable architecture with clustering support.
- Node.js (v16 or higher)
- npm (v8 or higher)
- Kali Linux (or any Linux distribution)
- Clone the repository:
git clone <repository-url> cd Data-Verse
- Install dependencies:
npm install
- Create a
.env
file in the root directory with the following variables:PORT=3000 JWT_SECRET=your_jwt_secret
- Start the development server:
npm run dev
- Install PM2 globally:
npm install -g pm2
- Start the application in production mode:
pm2 start pm2.config.json --env production
- Monitor the application:
pm2 monit
- Unit and integration tests are written using Jest and Supertest.
- Run tests with the following command:
npm test
- Use GitHub Actions or any CI/CD tool to automate testing and deployment.
- Ensure the
.env
file is configured correctly in the deployment environment.
The project uses GitHub Actions for Continuous Integration and Deployment. The workflow file is located at .github/workflows/ci.yml
and automates linting, testing, building, and deploying the application.
Ensure the following secrets are added to GitHub:
SENTRY_DSN
: For Sentry error monitoring.JWT_SECRET
: For JWT authentication.
Sentry is integrated for error monitoring. Add your Sentry DSN to the .env
file:
SENTRY_DSN=your_sentry_dsn
Winston is used for logging errors to both the console and a file (error.log
).
The backup.sh
script automates backups of key files and directories. Run it manually or schedule it with cron
.
The benchmark.js
script measures API response times. Run it using:
node benchmark.js
- Containerization: Use Docker for deployments.
- Orchestration: Manage containers with Kubernetes.
- Microservices: Transition to a microservices architecture for better scalability.
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes and push to your fork.
- Submit a pull request with a detailed description of your changes.
- Follow the existing code style and structure.
- Write inline comments for complex logic.
- Ensure all new features are covered by tests.
- Use the GitHub Issues tab to report bugs or request features.
- Provide detailed steps to reproduce the issue or describe the feature.
For support, contact the development team at [email protected]
or open an issue on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.