From 41efe5c6f3eab70e14cbdc7ccb7aebd203773158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Salman?= Date: Wed, 8 Jan 2025 22:38:01 +0300 Subject: [PATCH] Add GitHub Actions workflow for Docker build --- .github/workflows/docker-build.yml | 32 +++++++++++++++ LICENSE | 21 ++++++++++ README.md | 64 ++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 .github/workflows/docker-build.yml create mode 100644 LICENSE create mode 100644 README.md diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 0000000..ad230f4 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,32 @@ +name: Docker Build + +on: + push: + branches: + - release + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ github.sha }} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a29c309 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c7b5226 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Canvas + +Canvas is a Django-based web application for managing and analyzing chip samples, variants, and generating reports. + +## Features + +- Chip sample management and analysis +- Report generation and management +- Variant analysis and modal viewing +- CNV (Copy Number Variation) tracking +- Sample search functionality +- Interactive sidebar navigation + +## Prerequisites + +- Docker +- Docker Compose + +## Installation + +1. Clone the repository: +```bash +git clone [repository-url] +cd canvas +``` + +2. Start the application using Docker Compose: +```bash +docker compose up -d +``` + +The application will be available at `http://localhost:8000` (or your configured port). + +To stop the application: +```bash +docker compose down +``` + +## Project Structure + +- `admin.py` - Django admin configurations +- `models.py` - Database models +- `views.py` - View controllers +- `urls.py` - URL routing +- `templates/` - HTML templates + - `components/` - Reusable UI components + - `partials/` - Partial template fragments + +## Management Commands + +The project includes custom management commands: +- `associate_files` - For file association management + +## Contributing + +1. Fork the repository +2. Create a feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file