Fortune-Labs / resumate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ResuMate

I developed Resumate as a portfolio project for the foundations section at ALX Software Engineering. ResuMate is a web application designed to help individuals craft professional and visually appealing resumes with ease.

Please note that this work is still in progress.

-- Fortunatus

Resumate

A friendly resume builderapplication.

Resumate logo

Description πŸ’‘

Resumate is a resume builder web application.

Strive not to be a success, but rather to be of value. "Build your skills not your resume" - Yes but resume's are required for job applications. Getting all your skills on paper can be stressfull. We have all had those moments, where exclaim - "mm, here is a job oppening, I need a resume" - but know we end not writing a resume to an expectation. Now, instead of getting stuck with ideas, use resumate as your resume builder.

Resume Idea Craft

For a more in-depth description of Resuate desgn thinking as well as an overview of its tech stack and development process, I have included google doc.

Tech Stack 🐩

Resumate Tech Stack

Dependencies πŸ‘«

Front-End:

Tool/Library Version
React ^18.2.0
Tailwinds CSS ^3.3.2.1
Vite ^4.3.9
Axios Auth ^1.4.0
@dwqs/react-virtual-list ^1.0.0
clipboard-copy ^3.0.0

View the complete list of front-end dependencies in the corresponding package.json.

Back-End:

Tool/Library Version
Django 4.2.3
MangoDB ^6.0

Packaging/Deployment:

Tool/Library Version
Node.js ^v16.17.0
pip ^23.1.2.0

Front-End πŸ•

View the dedicated front-end README.md.

Back-End 🐾

View the dedicated back-end README.md.

Authentication πŸ”‘

Passwords are no fun. Resumate features a passwordless user authentication process managed by Axios, Google and Apple . The process works as follows:

  1. User enters email (for login) or both email + username (for signup). Front-end initially sends email/username to back-end.

    1. If logging in, and an account does not exist with the given email, back-end returns a redirect code, and user is directed to sign-up.
    2. Otherwise, back-end generates and returns a challenge token associated with the email.
  2. Front-end temporarily stores challenge token in localStorage, then uses the Axios API to send a login email to the user. The login email includes a random code that user must enter to verify account.

  3. Upon entering the verfication code, the user is redirected to the home page of Resumate. The redirect occurs on a URL hashed by Axios which the front-end parses to retrieve the user's Axios profile.

  4. Front-end pulls up challenge token from localStorage and returns it to the back-end with the verified email. Back-end generates and returns a bearer token in the form of a cookie.

    1. After being returned to the back-end, the challenge token is cleared from localStorage.
  5. The bearer token has been set and the user can fully acccess their profile!

Authors βœ’οΈ

License πŸ”’

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

About

License:MIT License


Languages

Language:JavaScript 74.6%Language:Python 20.7%Language:CSS 4.1%Language:HTML 0.6%