Thank you for your interest in contributing to Abnormal File Vault! This document provides guidelines to help you get started and make meaningful contributions.
This project uses the following technologies:
- Django: Python web framework for building the backend.
- Django REST Framework: For creating APIs.
- SQLite: Development database.
- Gunicorn: WSGI HTTP Server.
- WhiteNoise: Static file serving.
- React with TypeScript: For building the user interface.
- TanStack Query (React Query): For data fetching and caching.
- Axios: For API communication.
- Tailwind CSS: For styling.
- Heroicons: For UI elements.
- Docker: For containerized deployment.
- Shell Scripts: For automation tasks.
We welcome contributions of all kinds, including:
- Reporting bugs and suggesting features.
- Improving documentation (e.g.,
README.md,CONTRIBUTING.md). - Enhancing the frontend or backend code.
- Writing tests to improve coverage.
- Optimizing the Docker setup or deployment process.
- Fork this repository to your GitHub account.
- Clone your forked repository to your local machine:
git clone https://github.com/<your-username>/smart-file-vault.git cd smart-file-vault
Follow the instructions in the README.md file to set up the backend and frontend environments.
Always create a new branch for your contribution:
git checkout -b feature/your-feature-name- Follow the coding standards used in the project.
- Run tests to ensure your changes don’t break existing functionality.
- Stage your changes:
git add . - Commit with a descriptive message:
git commit -m "Add feature: your-feature-name" - Push your branch to your forked repository:
git push origin feature/your-feature-name
- Go to the original repository: Abnormal File Vault.
- Open the Pull Requests tab and click on New Pull Request.
- Select your branch and provide a detailed description of your changes.
This project includes both backend and frontend components. Ensure that you test your changes thoroughly:
- Run backend tests using the Django test suite.
- Run frontend tests to validate React components.
- If you introduce new features, write appropriate unit and integration tests.
- Be respectful and considerate to other contributors.
- Follow the project's Code of Conduct.
- Include comments in your code where necessary.
- Ensure all contributions align with the project's goals and coding standards.
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
Feel free to ask if you need help setting up the environment or have questions about the project! 😊