Git Product home page Git Product logo

jobarcelona-pau-solution's Introduction

GitHub Social Login Implementation

This project is aimed at creating a basic server that allows users to log in using their GitHub account and perform some actions with it. The frontend and backend are in the same server using the Spring Boot and Thymeleaf technologies

Context:

Social logins are becoming an increasingly popular option for user registration. By enabling users to sign up with just a few clicks, why would anyone prefer to manually enter an email and password and then have to confirm it, especially when using a mobile device? Social logins provide a much more convenient user experience, and that's why it's important to know how to implement them and navigate the documentation proposed by different companies.

To improve user interaction, this project is based on the creation of a small server configured to create users and allow login using GitHub's social login (OAuth). In other words, a server will be created that will allow users to log in by authorizing their GitHub account and perform some actions with it.

Endpoints

  • / is the home and you can acces to all users or star my repo
  • /getall shows all the users
  • /stars my repo
  • /login login with oauth github

Media

Project Demonstration

Objectives:

  • Create a basic server that displays the message: "GitHub social login implementation" on the first route.

  • Implement a basic user model that stores the information obtained from GitHub's social login. This model should contain at least the access token and the user's profile information.

  • Configure a database to store user information. Different database options can be used, such as PostgreSQL, MySQL, Mongo, Firebase, etc.

  • Implement an endpoint that allows users to register using GitHub's authentication strategy and save user information to the database.

  • Create an endpoint that displays all registered users.

  • Create an endpoint that allows giving a "star" to a repository

Technologies Used:

  • Java
  • Spring Boot
  • Thymeleaf
  • OAuth2
  • MySQL

How to run the project:

Clone the repository to your local machine Open the project in an IDE Configure your MySQL database settings in application.properties Build and run the project Navigate to http://localhost:8080 in your browser to access the home page and start using the application

Made by Pau Sansa Verdu

jobarcelona-pau-solution's People

Contributors

pausansa avatar

Stargazers

 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.