Skip to content

leoboehm/hobbydevs

Repository files navigation

HobbyDevs – Refactoring Project

Code Smells Coverage Duplicated Lines (%) Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities Bugs Lines of Code


About the Project

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.


Tech Stack

  • Backend: Laravel (PHP)
  • Frontend: Vue.js
  • Database: MySQL
  • Testing: PHPUnit

Setup & Installation

# 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 dev

You 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.sock

Testing

without 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 --seed

Contribution Notes

This repository is not an open contribution project. It is maintained for academic purposes to document systematic refactoring, testing, and evaluation.

License

This repository is considered closed-source for academic use.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors