Skip to content

Commit 1390ddf

Browse files
author
Murat Akdeniz
committed
Initial Release
0 parents  commit 1390ddf

File tree

222 files changed

+34431
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+34431
-0
lines changed

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = space
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
17+
[docker-compose.yml]
18+
indent_size = 4

.env.example

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
APP_NAME="FlowBoard"
2+
APP_ENV=local
3+
APP_KEY=
4+
APP_DEBUG=true
5+
APP_URL=http://localhost
6+
7+
APP_LOCALE=en
8+
APP_FALLBACK_LOCALE=en
9+
APP_FAKER_LOCALE=en_US
10+
11+
APP_MAINTENANCE_DRIVER=file
12+
# APP_MAINTENANCE_STORE=database
13+
14+
PHP_CLI_SERVER_WORKERS=4
15+
16+
BCRYPT_ROUNDS=12
17+
18+
LOG_CHANNEL=stack
19+
LOG_STACK=single
20+
LOG_DEPRECATIONS_CHANNEL=null
21+
LOG_LEVEL=debug
22+
23+
DB_CONNECTION=sqlite
24+
# DB_HOST=127.0.0.1
25+
# DB_PORT=3306
26+
# DB_DATABASE=laravel
27+
# DB_USERNAME=root
28+
# DB_PASSWORD=
29+
30+
SESSION_DRIVER=database
31+
SESSION_LIFETIME=120
32+
SESSION_ENCRYPT=false
33+
SESSION_PATH=/
34+
SESSION_DOMAIN=null
35+
36+
BROADCAST_CONNECTION=log
37+
FILESYSTEM_DISK=local
38+
QUEUE_CONNECTION=database
39+
40+
CACHE_STORE=database
41+
# CACHE_PREFIX=
42+
43+
MEMCACHED_HOST=127.0.0.1
44+
45+
REDIS_CLIENT=phpredis
46+
REDIS_HOST=127.0.0.1
47+
REDIS_PASSWORD=null
48+
REDIS_PORT=6379
49+
50+
MAIL_MAILER=log
51+
MAIL_SCHEME=null
52+
MAIL_HOST=127.0.0.1
53+
MAIL_PORT=2525
54+
MAIL_USERNAME=null
55+
MAIL_PASSWORD=null
56+
MAIL_FROM_ADDRESS="[email protected]"
57+
MAIL_FROM_NAME="${APP_NAME}"
58+
59+
# GitHub Integration
60+
GITHUB_CLIENT_ID=
61+
GITHUB_CLIENT_SECRET=
62+
GITHUB_WEBHOOK_SECRET=your_webhook_secret
63+
64+
# Push Notifications (VAPID Keys)
65+
VAPID_PUBLIC_KEY=
66+
VAPID_PRIVATE_KEY=
67+
VAPID_SUBJECT=mailto:[email protected]
68+
69+
# Security Settings
70+
THROTTLE_REQUESTS=60
71+
THROTTLE_DECAY_MINUTES=1
72+
73+
AWS_ACCESS_KEY_ID=
74+
AWS_SECRET_ACCESS_KEY=
75+
AWS_DEFAULT_REGION=us-east-1
76+
AWS_BUCKET=
77+
AWS_USE_PATH_STYLE_ENDPOINT=false
78+
79+
VITE_APP_NAME="${APP_NAME}"

.gitattributes

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
* text=auto eol=lf
2+
3+
*.blade.php diff=html
4+
*.css diff=css
5+
*.html diff=html
6+
*.md diff=markdown
7+
*.php diff=php
8+
9+
/.github export-ignore
10+
CHANGELOG.md export-ignore
11+
.styleci.yml export-ignore

.github/workflows/ci.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
services:
14+
mysql:
15+
image: mysql:8.0
16+
env:
17+
MYSQL_ROOT_PASSWORD: secret
18+
MYSQL_DATABASE: flowboard_test
19+
ports:
20+
- 3306:3306
21+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
22+
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- name: Setup PHP
27+
uses: shivammathur/setup-php@v2
28+
with:
29+
php-version: '8.2'
30+
extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite, pdo_mysql, zip
31+
coverage: xdebug
32+
33+
- name: Setup Node.js
34+
uses: actions/setup-node@v4
35+
with:
36+
node-version: '18'
37+
cache: 'npm'
38+
39+
- name: Install PHP dependencies
40+
run: composer install --no-progress --prefer-dist --optimize-autoloader
41+
42+
- name: Install NPM dependencies
43+
run: npm ci
44+
45+
- name: Build assets
46+
run: npm run build
47+
48+
- name: Copy environment file
49+
run: cp .env.example .env
50+
51+
- name: Generate application key
52+
run: php artisan key:generate
53+
54+
- name: Create SQLite database
55+
run: touch database/database.sqlite
56+
57+
- name: Run migrations
58+
run: php artisan migrate --env=testing
59+
60+
- name: Run tests
61+
run: php artisan test --coverage
62+
63+
- name: Run Pint (Code Style)
64+
run: vendor/bin/pint --test
65+
66+
security:
67+
runs-on: ubuntu-latest
68+
69+
steps:
70+
- uses: actions/checkout@v4
71+
72+
- name: Setup PHP
73+
uses: shivammathur/setup-php@v2
74+
with:
75+
php-version: '8.2'
76+
77+
- name: Install dependencies
78+
run: composer install --no-progress --prefer-dist --optimize-autoloader
79+
80+
- name: Run security check
81+
run: composer audit
82+
83+
deploy:
84+
needs: [test, security]
85+
runs-on: ubuntu-latest
86+
if: github.ref == 'refs/heads/main'
87+
88+
steps:
89+
- uses: actions/checkout@v4
90+
91+
- name: Deploy to production
92+
run: echo "Deploy to production server"
93+
# Add your deployment steps here

.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
*.log
2+
.DS_Store
3+
.env
4+
.env.backup
5+
.env.production
6+
.phpactor.json
7+
.phpunit.result.cache
8+
/.fleet
9+
/.idea
10+
/.nova
11+
/.phpunit.cache
12+
/.vscode
13+
/.zed
14+
/auth.json
15+
/node_modules
16+
/public/build
17+
/public/hot
18+
/public/storage
19+
/storage/*.key
20+
/storage/pail
21+
/vendor
22+
Homestead.json
23+
Homestead.yaml
24+
Thumbs.db
25+
.claude
26+
CLAUDE.md
27+
todo.md

CHANGELOG.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Changelog
2+
3+
All notable changes to FlowBoard will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [1.0.0] - 2025-07-11
11+
12+
### Added
13+
- Initial release of FlowBoard
14+
- **Core Project Management**
15+
- Interactive kanban boards with drag & drop functionality
16+
- Task creation, editing, and management
17+
- Project creation and management
18+
- Task status workflow management
19+
- Task priority levels (Low, Medium, High, Urgent)
20+
- Project and task color coding
21+
22+
- **User Management & Authentication**
23+
- User registration and authentication via Laravel Breeze
24+
- Role-based access control (Admin, Project Manager, Developer)
25+
- User profile management with avatars and preferences
26+
- User invitation system via email
27+
28+
- **Task Organization**
29+
- Task hierarchy with subtasks (up to 3 levels deep)
30+
- Task tagging system
31+
- Advanced search and filtering capabilities
32+
- Task assignment and ownership tracking
33+
- Due date management
34+
35+
- **GitHub Integration**
36+
- Webhook setup for automatic task creation from GitHub issues
37+
- Two-way synchronization between FlowBoard and GitHub
38+
- Commit-based automatic task closure
39+
- Pull request integration
40+
- Multiple repository support
41+
- Branch-based task management
42+
43+
- **Communication & Notifications**
44+
- Task commenting system with mentions (@username)
45+
- Email notification system with queue processing
46+
- Browser push notifications
47+
- Real-time activity tracking and logging
48+
- Configurable notification preferences
49+
50+
- **Analytics & Reporting**
51+
- Project progress tracking and metrics
52+
- User performance analytics
53+
- Task completion time analysis
54+
- PDF report generation
55+
- Excel export capabilities
56+
- Real-time dashboard with charts and statistics
57+
58+
- **User Experience Enhancements**
59+
- Dark/Light theme toggle with user preferences
60+
- Comprehensive keyboard shortcuts system
61+
- Responsive design for all devices
62+
- Drag & drop file upload functionality
63+
- Real-time updates via Livewire
64+
65+
- **Performance & Security**
66+
- Intelligent caching system with automatic invalidation
67+
- CSRF and XSS protection
68+
- Input sanitization and validation
69+
- Rate limiting for API endpoints
70+
- Security event logging
71+
- File upload security validation
72+
73+
- **Project Templates**
74+
- Pre-configured project templates (Agile, Waterfall, DevOps)
75+
- Custom template creation
76+
- Template-based rapid project setup
77+
78+
- **Technical Infrastructure**
79+
- Laravel 12 backend with PHP 8.2+
80+
- Livewire 3.4 for reactive components
81+
- TailwindCSS for modern UI design
82+
- SQLite for development, MySQL/PostgreSQL for production
83+
- Queue system for background job processing
84+
- Comprehensive testing suite
85+
86+
### Security
87+
- Implemented enterprise-grade security measures
88+
- Added CSRF protection across all forms
89+
- Implemented XSS prevention with input sanitization
90+
- Added rate limiting to prevent abuse
91+
- Secure file upload handling with MIME type validation
92+
- Comprehensive security logging and monitoring
93+
94+
### Performance
95+
- Intelligent caching system for improved response times
96+
- Database query optimization with proper indexing
97+
- Lazy loading for large datasets
98+
- Asset optimization with Vite build system
99+
- Cache management commands for maintenance
100+
101+
[Unreleased]: https://github.com/CodeXpedite/flowboard/compare/v1.0.0...HEAD
102+
[1.0.0]: https://github.com/CodeXpedite/flowboard/releases/tag/v1.0.0

0 commit comments

Comments
 (0)