Coder Social home page Coder Social logo

otavio-araujo / dev-picker Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.87 MB

Project for the Beer And Code technical test that allows the CTO to use the WEB interface to evaluate and filter open-source developers.

PHP 47.59% JavaScript 0.45% CSS 0.02% Blade 51.94%

dev-picker's Introduction

DEVPICKER

This repo is currently a work in progress — PRs and issues welcome!

Getting started

Installation

Please check the official laravel installation guide for server requirements before you start. Official Documentation

Clone the repository

git clone https://github.com/otavio-araujo/dev-picker.git

Switch to the repo folder

cd dev-picker

Install all the dependencies using composer and npm

composer install
npm install

Copy the example env file and make the required configuration changes in the .env file

cp .env.example .env

Generate a new application key

php artisan key:generate

Run the database migrations and seeders (Set the database connection in .env before migrating)

php artisan migrate

Build your assets & start the local development server

npm run build
npm run dev

Command list

git clone https://github.com/otavio-araujo/dev-picker.git
cd dev-picker
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run build
npm run dev

Database seeding

You need to populate the database to create initial users, roles and permissions

Open the terminal run the following command:

php artisan db:seed

Default Admin Role login information:

email: [email protected]
password: password

Default Devpicker Role login information:

email: [email protected]
password: password

Note : It's recommended to have a clean database before seeding. You can refresh your migrations at any point to clean the database by running the following command


php artisan migrate:refresh

Overview

This application offers support for real-time search for github developers. The application uses the Github Restfull API to fech developers within the selected filters and attributes.

Disclaimer: There is no affiliation between this application and Github Restfull API.

Once you have your API key, you can enable the feature by setting the CURRENCY_API_KEY environment variable in your .env file.

Initial Setup

After setting your API key in the .env file, it is essential to set your GITHUB_API_TOKEN to ensure that the API accepts the correct comunication with the aplication.

So, open your .env file and create a new GITHUB_API_TOKEN key and paste your Token:

GITHUB_API_TOKEN=github_pat_11AHIXSGY0PxxGnGX1c....

This ensures the correct comunication whit Github Restfull API.

Mailgun

A aplicação está pré-configurada para utilizar o Mailgun como driver de envio de emails. O envio de emails é utilizado para recuperação de senha.

Para configurar o mailgin, adicione ao .env as seguintes informações de sua conta Mailgun:

MAIL_MAILER=mailgun MAILGUN_DOMAIN=your-mailgun-domain MAILGUN_SECRET=your-api-key MAILGUN_ENDPOINT=api.mailgun.net MAIL_FROM_ADDRESS=[email protected] MAIL_FROM_NAME="${APP_NAME}"

Screenshots Explained

Login page

Screenshot 2024-05-07 at 10 01 46 PM

This featurs is just a simple login page. The credentials are:

Default Admin Role login information:

email: [email protected]
password: password

Default Devpicker (CTO) Role login information:

email: [email protected]
password: password

Find Developers

Screenshot 2024-05-07 at 10 01 46 PM

This feature is used to find and select developers from Github Restfull API. You can filter developers by number of followers, if they are a person or organization, if they are located in Brazil or Globally and you can select what languages or frameworks you want to search for.

Select Developers

Screenshot 2024-05-07 at 10 01 46 PM

Once you got the search result, you now can select the developer or view their details by clicking on the corresponding button. When you click select button the application saves this record on Selected Developers Resource. You can access this resource by clicking on the corresponding Navigation link.

Screenshot 2024-05-07 at 10 01 46 PM

Developer Resource

Screenshot 2024-05-07 at 10 01 46 PM

This feature lists on a datatable all selected developers. You can rate the developer by clicking os the stars fron the corresponding column. You can also change the developer status by clicking on status badge.

The last datatable's column has actions to see developer's details from Github, Add notes to developers and soft-delete them. The application pop's up a modal dialog to confirm if you really want to delete the developer.

Screenshot 2024-05-07 at 10 01 46 PM

Screenshot 2024-05-07 at 10 01 46 PM

You can create and delete as many notes as you like!

Screenshot 2024-05-07 at 10 01 46 PM

Profile Settings

It cames with JetStream package.

Screenshot 2024-05-07 at 10 01 46 PM

User Management Resource

This feature provides access control and user management. You can control what the user can or can not access and do through Roles and Permissions.

Screenshot 2024-05-07 at 10 01 46 PM

Screenshot 2024-05-07 at 10 01 46 PM

Screenshot 2024-05-07 at 10 01 46 PM

Screenshot 2024-05-07 at 10 01 46 PM

Dependencies

  • filamentphp/actions - Open interactive modals and slide-overs - a great way to keep the user in the flow of the application.
  • filamentphp/notifications - Notify your users of important events by delivering real-time messages using Livewire.
  • knplabs/github-api - A simple Object Oriented wrapper for GitHub API, written with PHP. Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is very similar to the RESTful API.
  • laravel/jetstream - Laravel Jetstream is a beautifully designed application scaffolding for Laravel. Jetstream provides the perfect starting point for your next Laravel application and includes login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.
  • spatie/laravel-permission - This package allows you to manage user permissions and roles in a database.

Note : It is recommended to read the documentation for all dependencies to get yourself familiar with how the application works.

License

This project is licensed under the MIT License - see the LICENSE file for details.

dev-picker's People

Contributors

otavio-araujo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.