Closed

Implement user management and authorization service

This project received 16 bids from talented freelancers with an average bid price of $357 USD.

Get free quotes for a project like this
Employer working
Project Budget
$150 - $180 USD
Total Bids
16
Project Description

I have a job board web application that I need to secure. The web application is built based on microservices architecture with Spring Cloud and Netflix technologies.

Technology Guidelines:

1) Need auth server to manage users and their security.

2) The technology stack should be Spring Cloud, Spring Cloud Security, Spring Data, and Spring Social

3) Authentication is based on token

3) The auth server is behind a Zuul API gateway and not expose to the "world".

4) Users account should be persisted using MongoDB

5) Auth server should run on Docker

6) Implement using Java 8

7) Build with Maven

8) I will provide a repository in GitHub for this

9) The services will be checked on Amazon AWS.

10) After usign is authenticated

11) Services discovery (API looks for Auth service and other services) using Eureka

Functionality Guidelines:

1) There are three types of users with different permissions and login types

- Job Seeker - signup/login with (a) username and password, (b) Facebook, (c) LinkedIn, (d) Google - (account should be recognized by email so different login of same user)

- Recruiter - signup/login using username and password

- Admin - login using username and password

2) Recruiters API

- All pages of Recruiters are with context path of /recruiters

- Login, Signup, Signout

- Signup with username and password the user also provides: first name, last name which are stored in database

- A recruiter belongs to a specific account.

- An account is unique by its name

- The account is created once the first recruiter of the account is signup

- A recruiter can add a new recruiter to account by setting its name, email, and a password. Then, the new recruiter can login with its credentials

- A recruiter can remove other recruiter from account

- A recruiter can enable/disable other recruiter from account

- Several recruiters can be admin of account

- A recruiter cannot be in two accounts

- Admin recruiter can get list of all recruiters

3) Job Seekers API

- All pages of Job Seekers are with context path of /

- Login, Signup, Signout

- Signup with username and password the user also provides: first name, last name which are stored in database

- Signup with social, the username (the email), first name, and last name are taken from social profile and store in database

Project delivery:

delivery is of 5 microservices in order to validate the security of all parties works as expected.

0) Simple client - AngularJS for demonstrating login with the different types of users

1) API Gateway service - Zuul

2) Authentication service

3) Dummy service for Job Seeker

4) Dummy service for Recruiter

5) Dummy service for Admin

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online