Skip to content

Commit f60ff3d

Browse files
committed
⚡️: add more data to tools and roles
1 parent 0077ed5 commit f60ff3d

5 files changed

Lines changed: 314 additions & 71 deletions

File tree

バックエンド/src/core/data/roles.ts

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,72 @@ import { MustHaveAll, MustHaveAtLeastOne } from '@/core/domain/pool.ts'
55
import { Tools } from '@/core/data/tools.ts'
66

77
export const Roles = [
8-
new Role('Junior Backend Developer', [
9-
new Area(Category.Programming_Languages, new MustHaveAtLeastOne(Tools.JavaScript, Tools.PHP, Tools.Java, Tools.Python)),
8+
new Role('Junior Backend Developer - JavaScript', [
9+
new Area(Category.Programming_Languages, new MustHaveAll(Tools.JavaScript, Tools.TypeScript)),
1010

11-
new Area(Category.Backend_Frameworks, new MustHaveAtLeastOne(Tools.Express, Tools.Laravel, Tools['Spring Boot'], Tools.Django)),
11+
new Area(Category.Backend_Frameworks, new MustHaveAll(Tools.Express), Tools.Nest),
1212

1313
new Area(Category.Frontend_Frameworks, new MustHaveAll(), Tools.React, Tools.Next),
1414

15-
new Area(Category.Databases, new MustHaveAll(Tools.SQL, Tools.PostgreSQL, Tools.MongoDB), Tools.MySQL, Tools.Redis, Tools.Firebase),
15+
new Area(
16+
Category.Databases,
17+
new MustHaveAll(Tools.SQL, Tools.PostgreSQL, Tools.MongoDB, Tools.Cloudinary),
18+
Tools.MySQL,
19+
Tools.Redis,
20+
Tools.Firebase,
21+
Tools.Supabase
22+
),
1623

1724
new Area(Category.Styles, new MustHaveAll(Tools.HTML, Tools.CSS, Tools.JavaScript)),
1825

1926
new Area(Category.Protocols, new MustHaveAll(Tools.HTTP, Tools.WebSockets), Tools.GraphQL),
2027

2128
new Area(Category.DevOps_Tools, new MustHaveAll(Tools.Git), Tools.Docker),
2229

30+
new Area(Category.Cloud_Platforms, new MustHaveAtLeastOne(Tools.Heroku, Tools.Vercel)),
31+
32+
new Area(Category.Security, new MustHaveAll(Tools.JWTs, Tools.bcrypt, Tools.CORS, Tools.Helmet), Tools.OAuth),
33+
2334
new Area(Category.Architectures, new MustHaveAll(Tools.MVC, Tools.OOP, Tools.RESTful)),
35+
36+
new Area(Category.Testing, new MustHaveAtLeastOne(Tools.Vitest, Tools.Jest)),
37+
38+
new Area(Category.Libraries, new MustHaveAll(Tools.Zod, Tools.Swagger, Tools.UUID), Tools.Prisma),
2439
]),
2540

26-
new Role('Intermediate Backend Developer', [
27-
new Area(Category.Backend_Frameworks, new MustHaveAtLeastOne(Tools.Express, Tools.Laravel, Tools['Spring Boot'], Tools.Django, Tools.Go)),
41+
new Role('Intermediate Backend Developer - JavaScript', [
42+
new Area(Category.Programming_Languages, new MustHaveAtLeastOne(Tools.JavaScript, Tools.TypeScript)),
43+
44+
new Area(Category.Backend_Frameworks, new MustHaveAtLeastOne(Tools.Express, Tools.Nest)),
2845

2946
new Area(Category.Frontend_Frameworks, new MustHaveAll(Tools.React), Tools.Next),
3047

31-
new Area(Category.Databases, new MustHaveAll(Tools.SQL, Tools.PostgreSQL, Tools.MongoDB, Tools.Redis, Tools.Firebase), Tools.MySQL),
48+
new Area(
49+
Category.Databases,
50+
new MustHaveAll(Tools.SQL, Tools.PostgreSQL, Tools.MongoDB, Tools.Redis, Tools.Firebase, Tools.Cloudinary),
51+
Tools.S3,
52+
Tools.MySQL,
53+
Tools.Supabase,
54+
Tools.MariaDB,
55+
Tools.Cassandra,
56+
Tools.DynamoDB
57+
),
3258

3359
new Area(Category.Styles, new MustHaveAll(Tools.HTML, Tools.CSS, Tools.JavaScript)),
3460

35-
new Area(Category.Protocols, new MustHaveAll(Tools.HTTP, Tools.WebSockets, Tools.GraphQL), Tools.gRPC),
61+
new Area(Category.Protocols, new MustHaveAll(Tools.HTTP, Tools.WebSockets, Tools.GraphQL, Tools.PubSub), Tools.gRPC),
3662

37-
new Area(Category.DevOps_Tools, new MustHaveAll(Tools.Git, Tools.Docker), Tools.Kubernetes),
63+
new Area(Category.DevOps_Tools, new MustHaveAll(Tools.Git, Tools['Github Actions'], Tools.Docker), Tools.Kubernetes, Tools.NGINX),
3864

3965
new Area(Category.Cloud_Platforms, new MustHaveAtLeastOne(Tools.AWS, Tools['Google Cloud'], Tools.Azure)),
4066

41-
new Area(Category.Architectures, new MustHaveAll(Tools.MVC, Tools.OOP, Tools.DDD), Tools.SOLID, Tools.Microservices),
67+
new Area(Category.Security, new MustHaveAll(Tools.JWTs, Tools.OAuth, Tools.bcrypt, Tools.CORS, Tools.Helmet)),
68+
69+
new Area(Category.Testing, new MustHaveAtLeastOne(Tools.Vitest, Tools.Jest)),
70+
71+
new Area(Category.Architectures, new MustHaveAll(Tools.MVC, Tools.OOP, Tools.DDD, Tools.ACID, Tools.RESTful), Tools.SOLID, Tools.Microservices),
72+
73+
new Area(Category.Libraries, new MustHaveAll(Tools.Zod, Tools.Swagger, Tools.UUID), Tools.Prisma),
4274
]),
4375

4476
new Role('Junior Frontend Developer', [
@@ -50,11 +82,13 @@ export const Roles = [
5082

5183
new Area(Category.UI_Libraries, new MustHaveAtLeastOne(Tools.ShadCN, Tools.Radix, Tools.Bootstrap), Tools.Framer, Tools.GSAP),
5284

85+
new Area(Category.Databases, new MustHaveAll(), Tools.MongoDB, Tools.PostgreSQL, Tools.Firebase),
86+
5387
new Area(Category.Protocols, new MustHaveAll(Tools.HTTP), Tools.WebSockets, Tools.GraphQL),
5488

55-
new Area(Category.DevOps_Tools, new MustHaveAll(Tools.Git)),
89+
new Area(Category.DevOps_Tools, new MustHaveAll(Tools.Git, Tools.Vite), Tools.Webpack),
5690

57-
new Area(Category.Cloud_Platforms, new MustHaveAll(Tools.Vercel)),
91+
new Area(Category.Cloud_Platforms, new MustHaveAtLeastOne(Tools.Vercel, Tools.Netlify, Tools.Render)),
5892

5993
new Area(Category.State_Management, new MustHaveAll(Tools.Redux, Tools['React Query']), Tools.Zustand),
6094

バックエンド/src/core/data/tools.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,14 @@ export const tools = [
2626
'Haskell',
2727

2828
// Backend Framework
29-
'Node',
3029
'Express',
3130
'Nest',
3231
'Django',
3332
'Flask',
3433
'Laravel',
35-
'Spring Boot', // example: This is undefiend
34+
'Spring Boot',
3635
'Spring',
37-
'.Net',
36+
'.NET',
3837
'FastAPI',
3938

4039
// Frontend Framework
@@ -65,9 +64,6 @@ export const tools = [
6564
'Material UI',
6665
'Emotion',
6766

68-
// Libraries
69-
'Zod',
70-
7167
// State Management
7268
'Redux',
7369
'Zustand',
@@ -86,6 +82,8 @@ export const tools = [
8682
'DynamoDB',
8783
'Neo4j',
8884
'Supabase',
85+
'S3',
86+
'Cloudinary',
8987

9088
// Architecture
9189
'MVC',
@@ -111,6 +109,8 @@ export const tools = [
111109
'NGINX',
112110
'ArgoCD',
113111
'Prometheus',
112+
'Vite',
113+
'Webpack',
114114

115115
// Cloud Platform
116116
'AWS',
@@ -122,6 +122,7 @@ export const tools = [
122122
'Cloudflare',
123123
'Heroku',
124124
'Digital Ocean',
125+
'Render',
125126

126127
// Protocol
127128
'HTTP',
@@ -136,11 +137,14 @@ export const tools = [
136137
// Message broker
137138
'RabbitMQ',
138139
'Kafka',
139-
'Google PubSub',
140+
'PubSub',
140141

141-
// Authentication
142+
// Security
142143
'JWTs',
143144
'OAuth',
145+
'bcrypt',
146+
'CORS',
147+
'Helmet',
144148

145149
// Markup Language
146150
'HTML',
@@ -154,6 +158,7 @@ export const tools = [
154158
'Zod',
155159
'Jest',
156160
'Vitest',
161+
'UUID',
157162
] as const
158163

159164
export const Tools = Object.fromEntries(tools.map(name => [name, new Tool(name)])) as Record<ToolKey, Tool>

バックエンド/src/core/domain/category.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ export enum Category {
1212
State_Management = 'State Management',
1313
Libraries = 'Libraries',
1414
Performance_Optimization = 'Performance Optimization',
15+
Testing = 'Testing',
16+
Security = 'Security',
1517
}

0 commit comments

Comments
 (0)