This repository is part of a scientific case study conducted within the scope of a DHBW Computer Science thesis. The focus is on improving the maintainability and reliability of the HobbyDevs web application, originally developed as a student project.
The Hobbydevs platform is designed to facilitate small-scale software collaborations outside of a traditional corporate context. Its purpose is to provide a platform that connects so-called Project Owners with Hobby Developers. Project Owners can publish software project ideas and define their requirements (scope, required skills, time frame, budget), while Hobby Developers create profiles outlining their skills and interests and can apply for projects.
- Backend: Laravel (PHP)
- Frontend: Vue.js
- Database: MySQL
- Testing: PHPUnit
# Clone repository
git clone https://github.com/leoboehm/hobbydevs.git
cd hobbydevs
# Install backend dependencies
composer install
# Install frontend dependencies
npm install
# Environment setup
cp .env.example .env
php artisan key:generate
# Database migration
php artisan migrate --seed
# Run development server
php artisan serve
npm run devYou can now access the application at 127.0.0.1:8000.
Note: The backend and frontend are not configured for cross-origin communication. The application will only work at 127.0.0.1, not at localhost.
Note: If you get database errors, make sure MySQL is installed and running on your machine. You might have to add your MySQL socket location to the .env file. Example:
DB_SOCKET=/opt/lampp/var/mysql/mysql.sockwithout coverage:
# Without coverage
php artisan test
# With test coverage (using clover)
XDEBUG_MODE=coverage php artisan test –coverage-html “reports/clover_html”Open hobbydevs/reports/clover_html/index.html to view the clover report.
Note: Running tests locally resets the database. Run the following command afterwards, to seed the table again:
php artisan migrate --fresh --seedThis repository is not an open contribution project. It is maintained for academic purposes to document systematic refactoring, testing, and evaluation.
This repository is considered closed-source for academic use.