Skip to content

Commit cef49d6

Browse files
committed
initial release
0 parents  commit cef49d6

30 files changed

+73812
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: ['bug']
6+
assignees: ''
7+
---
8+
9+
## Bug Description
10+
11+
A clear and concise description of what the bug is.
12+
13+
## Steps to Reproduce
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
## Expected Behavior
21+
22+
A clear and concise description of what you expected to happen.
23+
24+
## Actual Behavior
25+
26+
A clear and concise description of what actually happened.
27+
28+
## Screenshots
29+
30+
If applicable, add screenshots to help explain your problem.
31+
32+
## Environment
33+
34+
**Operating System:**
35+
- [ ] Windows
36+
- [ ] macOS
37+
- [ ] Linux (specify distribution)
38+
39+
**Installation Method:**
40+
- [ ] Local Python installation
41+
- [ ] Docker container
42+
43+
**Python Version:** (if applicable)
44+
**Docker Version:** (if applicable)
45+
46+
## Configuration
47+
48+
Please share your `config.yaml` file (remove any sensitive information):
49+
50+
```yaml
51+
# Your config here
52+
```
53+
54+
## Logs
55+
56+
Please include relevant log files or console output:
57+
58+
```
59+
# Log output here
60+
```
61+
62+
## Additional Context
63+
64+
Add any other context about the problem here.
65+
66+
## Checklist
67+
68+
- [ ] I have searched existing issues to avoid duplicates
69+
- [ ] I have provided all required information
70+
- [ ] I have included relevant logs and configuration
71+
- [ ] I can reproduce this issue consistently
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: ['enhancement']
6+
assignees: ''
7+
---
8+
9+
## Problem Statement
10+
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
## Proposed Solution
14+
15+
A clear and concise description of what you want to happen.
16+
17+
## Alternative Solutions
18+
19+
A clear and concise description of any alternative solutions or features you've considered.
20+
21+
## Additional Context
22+
23+
Add any other context or screenshots about the feature request here.
24+
25+
## Use Cases
26+
27+
Describe specific use cases where this feature would be beneficial:
28+
29+
1. **Use Case 1**: Description
30+
2. **Use Case 2**: Description
31+
3. **Use Case 3**: Description
32+
33+
## Implementation Ideas
34+
35+
If you have any ideas about how this could be implemented, please share them:
36+
37+
- [ ] Backend changes needed
38+
- [ ] Frontend changes needed
39+
- [ ] Database schema changes
40+
- [ ] API endpoint additions
41+
- [ ] Configuration options
42+
43+
## Priority
44+
45+
- [ ] High - Critical for my workflow
46+
- [ ] Medium - Would be nice to have
47+
- [ ] Low - Nice to have but not essential
48+
49+
## Checklist
50+
51+
- [ ] I have searched existing issues to avoid duplicates
52+
- [ ] I have provided a clear problem statement
53+
- [ ] I have described the proposed solution
54+
- [ ] I have considered alternative approaches
55+
- [ ] This feature would benefit other users

.github/workflows/ci.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
python-version: [3.10, 3.11, 3.12]
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v4
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
25+
- name: Install dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install -r requirements.txt
29+
pip install pytest pytest-cov flake8
30+
31+
- name: Lint with flake8
32+
run: |
33+
# stop the build if there are Python syntax errors or undefined names
34+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
35+
# exit-zero treats all errors as warnings
36+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
37+
38+
- name: Test with pytest
39+
run: |
40+
pytest --cov=backend --cov-report=xml
41+
42+
- name: Upload coverage to Codecov
43+
uses: codecov/codecov-action@v3
44+
with:
45+
file: ./coverage.xml
46+
fail_ci_if_error: false
47+
48+
docker:
49+
runs-on: ubuntu-latest
50+
needs: test
51+
52+
steps:
53+
- uses: actions/checkout@v4
54+
55+
- name: Set up Docker Buildx
56+
uses: docker/setup-buildx-action@v3
57+
58+
- name: Build Docker image
59+
run: |
60+
cd docker
61+
docker build -t fitgirl-updater:test .
62+
63+
- name: Test Docker container
64+
run: |
65+
cd docker
66+
docker-compose up -d
67+
sleep 30
68+
curl -f http://localhost:2121/ || exit 1
69+
docker-compose down
70+
71+
security:
72+
runs-on: ubuntu-latest
73+
74+
steps:
75+
- uses: actions/checkout@v4
76+
77+
- name: Set up Python
78+
uses: actions/setup-python@v4
79+
with:
80+
python-version: 3.10
81+
82+
- name: Install security tools
83+
run: |
84+
pip install bandit safety
85+
86+
- name: Run security checks
87+
run: |
88+
bandit -r backend/ -f json -o bandit-report.json || true
89+
safety check --json --output safety-report.json || true
90+
91+
- name: Upload security reports
92+
uses: actions/upload-artifact@v3
93+
with:
94+
name: security-reports
95+
path: |
96+
bandit-report.json
97+
safety-report.json

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 FitGirl Updater
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)