{"id":17997648,"url":"https://github.com/danielhe4rt/basement-mentorship","last_synced_at":"2025-07-18T18:35:14.961Z","repository":{"id":220878829,"uuid":"752810390","full_name":"danielhe4rt/basement-mentorship","owner":"danielhe4rt","description":"Yet Another Daniel Weird idea to Mentor people.","archived":false,"fork":false,"pushed_at":"2024-02-21T02:02:57.000Z","size":1048,"stargazers_count":19,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-09T17:01:46.824Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielhe4rt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-04T21:22:55.000Z","updated_at":"2024-07-10T12:35:47.000Z","dependencies_parsed_at":"2024-02-04T23:30:47.340Z","dependency_job_id":"5329f513-7498-421f-8dc4-d916140eb7e6","html_url":"https://github.com/danielhe4rt/basement-mentorship","commit_stats":null,"previous_names":["danielhe4rt/basement-mentorship"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielhe4rt/basement-mentorship","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhe4rt%2Fbasement-mentorship","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhe4rt%2Fbasement-mentorship/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhe4rt%2Fbasement-mentorship/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhe4rt%2Fbasement-mentorship/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielhe4rt","download_url":"https://codeload.github.com/danielhe4rt/basement-mentorship/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielhe4rt%2Fbasement-mentorship/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265810208,"owners_count":23831947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-29T21:20:28.056Z","updated_at":"2025-07-18T18:35:14.943Z","avatar_url":"https://github.com/danielhe4rt.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basement Mentorships\n\nBasement Mentorships is a web application that allows users to find mentors and mentees in the tech industry. Users can create a profile, search for mentors and mentees, and request mentorships.\n\n\n## About the project\n\nSince I decided to mentor many people as possible and asyncronously, came the need of a simple platform to handle that.\nFYI this code doesn't follow the best practices and I would not tell you to use this code to study until this message vanishes lol.\n\nAt the user side, we're running:\n\n- Laravel Blade\n- Bootstrap\n- jQuery\n\nand on the Admin side, we're running `FilamentPHP`.\n\nThis will be the stack until I decided to do something better (on user side).\n\n### Authenticatin\n\nThe application uses GitHub OAuth for authentication since it's a tech platform and most of the users will have a GitHub account.\n\n### Models\n\nJust a quick explanation of the Models used in the project so far.\n\n| Model    | Description                                             |\n|----------|---------------------------------------------------------|\n| User     | Meentored person.                                       |\n| Token    | OAuth Credentials for requesting further details.       |\n| Details  | Onboarding information for mentoring approval purposes. |\n| Progress | User task progress with status enumeration.             |\n| Module   | Mentoring module that the user will apply.              |\n| Task     | Task of a specific module                               |\n| Todo     | Items of a task that would be cool to deliver.          |\n\n### Handling Module Acceptance\n\nThe most important table for this project is the `users_modules` which handles the acceptance of a mentee in a specific mentoring. \n\nThe pivot is managed by the `ModuleAttendanceEnum` with the flags: \n```php\nnamespace App\\Enums\\Module;\n\nenum ModuleAttendanceEnum: string\n{\n    case ON_HOLD = 'onhold';\n    case ACCEPTED = 'accepted';\n    case FINISHED = 'finished';\n}\n```\n\nand also the Todo Tasks\n\n## Prerequisites\n\n- PHP 8.2 or higher\n- Composer\n- Node.js and npm\n\n## Installation\n\n1. Clone the repository:\n    ```\n    git clone https://github.com/DanielHe4rt/your-repo.git\n    ```\n\n2. Navigate to the project directory:\n    ```\n    cd your-repo\n    ```\n\n3. Install PHP dependencies:\n    ```\n    composer install\n    ```\n\n4. Install JavaScript dependencies:\n    ```\n    npm install\n    ```\n\n5. Copy the example environment file and make the required configuration changes in the `.env` file:\n    ```\n    cp .env.example .env\n    ```\n\n6. Generate a new application key:\n    ```\n    php artisan key:generate\n    ```\n\n7. Run the database migrations:\n    ```\n    php artisan migrate\n    ```\n   \n## Registration with GitHub OAuth\n\n### 1. Create a new GitHub Application\n\nCreate a new [GitHub Application](https://github.com/settings/apps) on GitHub with the callback URL below:\n\n```\nhttp://localhost:8000/oauth/github/callback\n```\n\n\u003e ![TIP]\n\u003e Don't forget to change to your domain instead `localhost` when deploying to production.\n\n### 2. Updating the `.env` file\n\nAdd the `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` to the `.env` file:\n\n```\nGITHUB_CLIENT_ID=\"your-client-id\"\nGITHUB_CLIENT_SECRET=\"your-client-secret\"\nGITHUB_CLIENT_REDIRECT=\"http://localhost:8000/oauth/github/callback\"\n```\n\n## Usage\n\nTo start the development server, run the following commands:\n\n```bash\n# terminal 1\nphp artisan serve\n```\n\n```bash\n# terminal 2\nnpm run dev\n```\n\nand this will bring the application up at [http://localhost:8000](http://localhost:8000).\n\n## License\n\nThis project is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielhe4rt%2Fbasement-mentorship","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielhe4rt%2Fbasement-mentorship","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielhe4rt%2Fbasement-mentorship/lists"}