This is the repository responsible for ResumeGemm's apps.
-
Backend — ResumeGemm's application backend.
To work properly, fill in the
.env
file. Use the.env.example
file as an example. -
Frontend — ResumeGemm's application frontend.
To work properly, fill in the
.env
file. Use the.env.example
file as an example. -
Shared — ResumeGemm's application common modules for reuse.
- NodeJS (18.x.x);
- NPM (9.x.x);
- PostgreSQL (15.2)
- run
npx simple-git-hooks
at the root of the project, before the start (it will set the pre-commit hook for any commits).
npm install
at the root- Fill ENVs
npx simple-git-hooks
at the rootcd backend && npm run migrate:dev
then run seedsnpm run seed:run
npm run start:dev
cd frontend && npm run start:dev
- Enjoy ❤️
TBA
erDiagram
users {
uuid id PK
varchar email
varchar password_hash
varchar password_salt
uuid profile_id FK
timestamp created_at
timestamp updated_at
}
oauth_users {
uuid id PK
varchar email
enu oauth_strategy
int oauth_id
uuid profile_id FK
timestamp created_at
timestamp updated_at
}
user_profile {
uuid id PK
varchar first_name
varchar last_name
varchar avatar
timestamp created_at
timestamp updated_at
}
personal_information {
uuid id PK
varchar first_name
varchar last_name
varchar email
varchar profession
varchar industry
varchar city
varchar country
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
experience {
uuid id PK
varchar job_title
varchar company_name
varchar employment_type
varchar city
varchar country
varchar description
currently_working boolean
timestamp created_at
timestamp updated_at
Date start_date
Date end_date
uuid resume_id FK
}
technical_skills {
uuid id PK
varchar skill_name
varchar skill_level
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
education {
uuid id PK
varchar institution
varchar degree
varchar city
varchar country
varchar description
currently_studying boolean
Date start_date
Date end_date
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
contact_details {
uuid id PK
varchar phone_number
varchar social_contact
varchar link
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
certification {
uuid id PK
varchar certification_name
varchar authority
varchar certification_url_or_code
varchar description
Date start_date
Date end_date
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
language {
uuid id PK
varchar language
varchar language_level
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
custom_section {
uuid id PK
varchar activity
varchar city
varchar description
Date start_date
Date end_date
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
resumes {
uuid id PK
varchar resume_title
varchar image
timestamp created_at
timestamp updated_at
timestamp deleted_at
uuid user_id FK
uuid template_id FK
}
templates {
uuid id PK
boolean isOwner
varchar image
timestamp created_at
timestamp updated_at
timestamp deleted_at
uuid user_id FK
}
reviews {
uuid id PK
varchar content
int score
timestamp created_at
timestamp updated_at
uuid resume_id FK
}
recently_viewed {
uuid id PK
date viewed_at
uuid user_id FK
uuid resume_id FK
uuid template_id FK
}
user_templates {
uuid id PK
uuid user_id FK
uuid template_id FK
}
resumes |o--|| users : user_id
templates |o--|| users : user_id
education |o--|| resumes : resume_id
contact_details |o--|| resumes : resume_id
experience |o--|| resumes : resume_id
users ||--|| user_profile: profile_id
technical_skills |o--|| resumes : resume_id
personal_information |o--|| resumes : resume_id
certification |o--|| resumes : resume_id
language |o--|| resumes : resume_id
custom_section |o--|| resumes : resume_id
reviews ||--|| resumes : resume_id
resumes }o--|| templates : template_id
recently_viewed ||--|| users: user_id
recently_viewed ||--|| resumes: resume_id
recently_viewed ||--|| templates: template_id
users ||--o{ user_templates : "user_id"
templates ||--o{ user_templates : "template_id"
user_templates }o--|| users : ""
user_templates }o--|| templates : ""
- React — a frontend library.
- Redux + Redux Toolkit — a state manager.
- simple-git-hooks — a tool that lets you easily manage git hooks.
- lint-staged — run linters on git staged files.
- dangerjs — automate common code review chores.
- commitlint — helps your team adhere to a commit convention.
- editorconfig — helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.
- prettier — an opinionated code formatter.
- ls-lint — file and directory name linter.
- eslint — find problems in your JS code.
- stylelint — find and fix problems in your CSS code.
<project-prefix>-<issue-number>: <ticket-title>
rg-5: Add Dashboard
<type>/<project-prefix>-<issue-number>-<short-desc>
- task
- fix
task/rg-5-add-dashboard
task/rg-12-add-user-flow
fix/rg-16-fix-user-flow
<project-prefix>-<issue-number>: <modifier> <description>
+
(add)*
(edit)-
(remove)
rg-5: + title for dashboard
rg-12: * dashboard title
rg-16: - dashboard title