Hackathon-Nov-2024 is a comprehensive project designed for streamlined development and deployment. It leverages advanced technologies, including backend processing, utility scripts, and UI components, all integrated with CI/CD pipelines and containerization to ensure scalability and efficiency.
- Backend API: Robust server-side functionalities.
- Utility Scripts: Handy tools to support data processing and other operations.
- Large Language Model Components: Extendable modules for integrating LLM capabilities.
- User Interface: Frontend components for enhanced user interaction.
- Containerization: Dockerized environment for portability and consistency.
- CI/CD Integration: Automated pipelines using Azure DevOps.
The project is organized as follows:
Hackathon-Nov-2024/
├── backend/ # Server-side logic and APIs
├── data/ # Datasets and related resources
├── utils/ # Utility functions and helpers
├── llm_components/ # Components related to LLMs
├── ui/ # User Interface modules
├── Dockerfile # Docker container configuration
├── requirements.txt # Python dependencies
├── azure-pipelines.yml # Azure DevOps CI/CD pipeline
└── README.md # Project documentation
- Python 3.9+
- Docker
- Azure DevOps account (for CI/CD)
-
Clone the repository:
git clone https://github.com/Luffy610/hackathon-nov-2024.git cd hackathon-nov-2024
-
Install dependencies:
pip install -r requirements.txt
-
Set up the environment variables:
- Create a
.env
file in the root directory. - Add the required variables (refer to
utils/config.py
).
- Create a
-
Build the Docker image:
docker build -t hackathon-nov-2024 .
-
Run the Docker container:
docker run -p 8000:8000 hackathon-nov-2024
-
Access the Backend API:
- Navigate to
http://localhost:8000/api
for API endpoints.
- Navigate to
-
Use the User Interface:
- Access the UI at
http://localhost:8000
.
- Access the UI at
-
Data Processing:
- Use scripts in the
utils/
directory for data transformation or analysis.
- Use scripts in the
-
LLM Features:
- Explore LLM functionalities in the
llm_components/
module.
- Explore LLM functionalities in the
- Follow PEP 8 for Python code.
- Use meaningful commit messages.
- Main branch:
main
- Feature branches:
feature/<feature-name>
- Bug fixes:
bugfix/<issue-name>
- The CI/CD pipeline is configured in
azure-pipelines.yml
. - Trigger builds automatically on pushes to
main
.
- Run unit tests:
pytest tests/
- Check test coverage:
pytest --cov=backend tests/
- Debugging:
- Use the integrated Jupyter notebook (
Untitled.ipynb
) for experimentation.
- Use the integrated Jupyter notebook (
We welcome contributions! To get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature/<feature-name>
- Commit your changes:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature/<feature-name>
- Open a pull request.
- Team Hackathon-Nov-2024 for their dedication and innovation.
For more information or queries, contact dhruvkotwani@outlook.com.