Project Name: Fixithub
Description: Fixithub is a Crowdsourcing System designed to connect the public, crowdworkers, and the government to collaboratively address issues. The application allows the public to report problems, crowdworkers to provide solutions, and the government to manage verification and solution implementation. With this application, it is expected to foster more effective and transparent collaboration in solving various social issues.
Tech Stack:
- Framework: Laravel
- Frontend: Tailwind CSS
- Database: Backendless
- Other Tools/Libraries:
- TinyMCE (Text Editor)
- Cloudinary (Media File Storage)
Repository Link: Fixithub Repository
Ensure the following tools are installed:
- PHP: Version 8.2.* (or adjust to match your project version).
- Composer: Latest version.
- Node.js & npm: [Version used during development, e.g., Node.js 18+].
- Database: Backendless.
- Git: [Version used, e.g., 2.40+].
- Clone the repository:
git clone https://github.com/Abdi-01/fixithub.git cd fixithub - Install PHP dependencies:
composer install
- Install JavaScript dependencies:
npm install
- Set up environment variables:
- Duplicate the
.env.examplefile and rename it to.env. - Update database and application settings in the
.envfile.
- Duplicate the
- Generate application key:
php artisan key:generate
- Run database migrations and seeders (if applicable):
php artisan migrate --seed
- Start Vite for frontend assets:
npm run dev
- This will enable auto-restart when there are changes, especially for Tailwind CSS styling.
- Start the development server:
php artisan serve
- /app: Contains application logic (Models, Controllers, etc.).
- /config: Configuration files for the application.
- /resources: Frontend assets and views.
- /routes: Application routes (web, API, etc.).
- /database: Migrations, seeders, and factories.
- /public: Publicly accessible files (e.g., images, compiled assets).
Description: Allows users to report issues with detailed descriptions and media uploads.
- Files/Components Involved: [List relevant files]
- Key Routes: [List key routes for this feature]
- Configuration/Environment Variables: [Any related .env variables]
Description: Enables crowdworkers to view, discuss, and propose solutions to reported issues.
- Files/Components Involved: [List relevant files]
- Key Routes: [List key routes for this feature]
- Configuration/Environment Variables: [Any related .env variables]
Description: Provides tools for the government to verify and implement solutions, ensuring transparency.
- Files/Components Involved: [List relevant files]
- Key Routes: [List key routes for this feature]
- Configuration/Environment Variables: [Any related .env variables]
- Log in to your Vercel account.
- Click on Add New Project.
- Select Import Git Repository and connect your GitHub account.
- Locate and select the Fixithub repository.
- Configure the project:
- Build Command:
npm run build - Output Directory:
public - Add the required environment variables from your
.envfile.
- Build Command:
- Click Deploy.
- After deployment, Vercel will provide a live URL for your project.
- Run the following commands locally to prepare the build:
npm run build
- Compress the entire project directory (excluding
node_modulesand.envfor security). - Log in to your Vercel account.
- Click on Add New Project > Manual Deployment.
- Upload the compressed file and configure:
- Build Command:
npm run build - Output Directory:
public - Add the required environment variables from your
.envfile.
- Build Command:
- Click Deploy.
- Once the deployment is complete, Vercel will provide the project URL.
- Install Vercel CLI globally on your machine:
npm install -g vercel
- Navigate to your project directory:
cd fixithub - Run the following command to deploy:
vercel
- Follow the CLI prompts:
- Select the project scope.
- Define the output directory as
public/build. - Set up the environment variables when prompted.
- Once the deployment is complete, Vercel will provide the live URL for your project.
- For subsequent deployments, simply run:
vercel --prod
- This will deploy your project to production directly.
- Output Directory: Ensure the output directory is set to
public/buildas shown in the Vercel Project Settings.
- Node.js Version: Set the Node.js version to 18.xx in Vercel for compatibility.

- Add this environtment variable Set the environtment variables like this

Ensure the server meets these requirements:
- PHP: Version 8.2.* (or match project version).
- Web Server: Nginx/Apache.
- Database: Backendless.
- Node.js & npm: [Version used during development].
- Upload the project files to the server.
- Set correct permissions for the
storageandbootstrap/cachefolders.chmod -R 775 storage bootstrap/cache
- Install dependencies and compile assets:
composer install --optimize-autoloader --no-dev npm run build
- Configure the
.envfile with production settings. - Run database migrations:
php artisan migrate --force
- Clear and cache configurations:
php artisan config:cache php artisan route:cache php artisan view:cache
- Restart the web server if needed.
- Clear application cache:
php artisan cache:clear
- View application logs:
tail -f storage/logs/laravel.log
- Run queued jobs:
php artisan queue:work
- Create a new branch for the feature:
git checkout -b feature/[feature-name]
- Follow the existing folder and coding conventions.
- Before pushing changes related to Tailwind CSS styles, run:
npm run build
- Add and commit changes:
git add . git commit -m "[Description of changes]" git push
- Documentation: Refer to the
README.mdfile for a quick project summary. - Testing: [Add notes on how to run tests if applicable, e.g., PHPUnit commands.]
- Support: [Include contact info or further resources for client support.]
Feel free to update this document as needed during further development.