axiodb 2.10.25 → 2.10.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/Document/eslint.config.js +0 -28
- package/Document/index.html +0 -31
- package/Document/package-lock.json +0 -4254
- package/Document/package.json +0 -35
- package/Document/postcss.config.js +0 -6
- package/Document/public/AXioDB.png +0 -0
- package/Document/src/App.tsx +0 -39
- package/Document/src/Assets/AXioDB.png +0 -0
- package/Document/src/components/content/AdvancedFeatures.tsx +0 -318
- package/Document/src/components/content/ApiReference.tsx +0 -319
- package/Document/src/components/content/Community.tsx +0 -203
- package/Document/src/components/content/Comparison.tsx +0 -227
- package/Document/src/components/content/CreateCollection.tsx +0 -59
- package/Document/src/components/content/CreateDatabase.tsx +0 -57
- package/Document/src/components/content/Features.tsx +0 -263
- package/Document/src/components/content/Installation.tsx +0 -67
- package/Document/src/components/content/Introduction.tsx +0 -107
- package/Document/src/components/content/MaintainersZone.tsx +0 -142
- package/Document/src/components/content/PainPoints.tsx +0 -126
- package/Document/src/components/content/Security.tsx +0 -137
- package/Document/src/components/content/Usage.tsx +0 -247
- package/Document/src/components/layout/Header.tsx +0 -154
- package/Document/src/components/layout/Layout.tsx +0 -91
- package/Document/src/components/layout/Sidebar.tsx +0 -185
- package/Document/src/components/ui/Button.tsx +0 -45
- package/Document/src/components/ui/CodeBlock.tsx +0 -41
- package/Document/src/context/ThemeContext.tsx +0 -71
- package/Document/src/hooks/useTheme.tsx +0 -12
- package/Document/src/index.css +0 -3
- package/Document/src/main.tsx +0 -10
- package/Document/src/styles/global.css +0 -18
- package/Document/src/vite-env.d.ts +0 -1
- package/Document/tailwind.config.js +0 -9
- package/Document/tsconfig.app.json +0 -24
- package/Document/tsconfig.node.json +0 -22
- package/Document/vite.config.ts +0 -40
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Database, Zap, Shield, Code } from "lucide-react";
|
|
3
|
-
import PainPoints from "./PainPoints";
|
|
4
|
-
|
|
5
|
-
const Introduction: React.FC = () => {
|
|
6
|
-
return (
|
|
7
|
-
<section id="introduction" className="scroll-mt-20">
|
|
8
|
-
<h1 className="text-4xl font-bold mb-6">AxioDB: A NoSQL Based DBMS</h1>
|
|
9
|
-
|
|
10
|
-
<div className="flex items-center gap-2 mb-6">
|
|
11
|
-
<img
|
|
12
|
-
src="https://badge.fury.io/js/axiodb.svg"
|
|
13
|
-
alt="npm version"
|
|
14
|
-
className="h-6"
|
|
15
|
-
/>
|
|
16
|
-
<img
|
|
17
|
-
src="https://github.com/AnkanSaha/AxioDB/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main"
|
|
18
|
-
alt="CodeQL"
|
|
19
|
-
className="h-6"
|
|
20
|
-
/>
|
|
21
|
-
<img
|
|
22
|
-
src="https://dl.circleci.com/status-badge/img/gh/AnkanSaha/AxioDB/tree/main.svg?style=svg"
|
|
23
|
-
alt="CircleCI"
|
|
24
|
-
className="h-6"
|
|
25
|
-
/>
|
|
26
|
-
<img
|
|
27
|
-
src="https://socket.dev/api/badge/npm/package/axiodb"
|
|
28
|
-
alt="Socket Security"
|
|
29
|
-
className="h-6"
|
|
30
|
-
/>
|
|
31
|
-
</div>
|
|
32
|
-
|
|
33
|
-
<p className="text-lg mb-8 text-gray-700 dark:text-gray-300">
|
|
34
|
-
AxioDB is a blazing-fast, lightweight, and scalable open-source Database
|
|
35
|
-
Management System (DBMS) tailored for modern applications. It supports{" "}
|
|
36
|
-
<code className="bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded text-blue-600 dark:text-blue-400">
|
|
37
|
-
.axiodb
|
|
38
|
-
</code>{" "}
|
|
39
|
-
file-based data storage, offers intuitive APIs, and ensures secure data
|
|
40
|
-
management. AxioDB is the ultimate solution for developers seeking
|
|
41
|
-
efficient, flexible, and production-ready database solutions.
|
|
42
|
-
</p>
|
|
43
|
-
|
|
44
|
-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 mb-10">
|
|
45
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 border border-gray-100 dark:border-gray-700 transition-all hover:shadow-lg">
|
|
46
|
-
<div className="flex items-center gap-3 mb-4">
|
|
47
|
-
<Zap className="h-8 w-8 text-orange-500" />
|
|
48
|
-
<h3 className="text-xl font-semibold">Blazing Fast</h3>
|
|
49
|
-
</div>
|
|
50
|
-
<p className="text-gray-600 dark:text-gray-300">
|
|
51
|
-
Optimized for performance with Node.js streams and in-memory
|
|
52
|
-
caching, delivering lightning-fast data operations even with large
|
|
53
|
-
datasets.
|
|
54
|
-
</p>
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 border border-gray-100 dark:border-gray-700 transition-all hover:shadow-lg">
|
|
58
|
-
<div className="flex items-center gap-3 mb-4">
|
|
59
|
-
<Database className="h-8 w-8 text-blue-500" />
|
|
60
|
-
<h3 className="text-xl font-semibold">File-Based Storage</h3>
|
|
61
|
-
</div>
|
|
62
|
-
<p className="text-gray-600 dark:text-gray-300">
|
|
63
|
-
Leverages{" "}
|
|
64
|
-
<code className="bg-gray-100 dark:bg-gray-900 px-1 py-0.5 rounded text-blue-600 dark:text-blue-400">
|
|
65
|
-
.axiodb
|
|
66
|
-
</code>{" "}
|
|
67
|
-
files for data storage, eliminating the need for complex database
|
|
68
|
-
servers while maintaining data integrity.
|
|
69
|
-
</p>
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 border border-gray-100 dark:border-gray-700 transition-all hover:shadow-lg">
|
|
73
|
-
<div className="flex items-center gap-3 mb-4">
|
|
74
|
-
<Shield className="h-8 w-8 text-green-500" />
|
|
75
|
-
<h3 className="text-xl font-semibold">Security-First</h3>
|
|
76
|
-
</div>
|
|
77
|
-
<p className="text-gray-600 dark:text-gray-300">
|
|
78
|
-
Built with security in mind, featuring optional AES-256 encryption
|
|
79
|
-
for collections and robust schema validation to protect your data.
|
|
80
|
-
</p>
|
|
81
|
-
</div>
|
|
82
|
-
|
|
83
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 border border-gray-100 dark:border-gray-700 transition-all hover:shadow-lg">
|
|
84
|
-
<div className="flex items-center gap-3 mb-4">
|
|
85
|
-
<Code className="h-8 w-8 text-purple-500" />
|
|
86
|
-
<h3 className="text-xl font-semibold">Developer Friendly</h3>
|
|
87
|
-
</div>
|
|
88
|
-
<p className="text-gray-600 dark:text-gray-300">
|
|
89
|
-
Intuitive APIs with chainable query methods, MongoDB-like syntax,
|
|
90
|
-
and advanced schema validation make development a breeze.
|
|
91
|
-
</p>
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
<blockquote className="border-l-4 border-blue-500 pl-4 py-2 my-6 bg-blue-50 dark:bg-blue-900/20 rounded-r-lg">
|
|
96
|
-
<p className="italic text-gray-700 dark:text-gray-300">
|
|
97
|
-
"AxioDB is the ultimate solution for developers seeking efficient,
|
|
98
|
-
flexible, and production-ready database solutions."
|
|
99
|
-
</p>
|
|
100
|
-
</blockquote>
|
|
101
|
-
|
|
102
|
-
<PainPoints />
|
|
103
|
-
</section>
|
|
104
|
-
);
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export default Introduction;
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import {
|
|
3
|
-
FaFacebook,
|
|
4
|
-
FaInstagram,
|
|
5
|
-
FaTwitter,
|
|
6
|
-
FaGithub,
|
|
7
|
-
FaYoutube,
|
|
8
|
-
FaDev,
|
|
9
|
-
FaEnvelope,
|
|
10
|
-
} from "react-icons/fa";
|
|
11
|
-
import { TbBrandThreads } from "react-icons/tb";
|
|
12
|
-
import { GiJourney, GiAchievement, GiSkills } from "react-icons/gi";
|
|
13
|
-
import { MdSchool, MdWork } from "react-icons/md";
|
|
14
|
-
|
|
15
|
-
const MaintainersZone = () => {
|
|
16
|
-
const socialLinks = [
|
|
17
|
-
{
|
|
18
|
-
name: "Facebook",
|
|
19
|
-
url: "https://www.facebook.com/theankansaha",
|
|
20
|
-
icon: <FaFacebook />,
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: "Instagram",
|
|
24
|
-
url: "https://www.instagram.com/theankansaha",
|
|
25
|
-
icon: <FaInstagram />,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "X (Twitter)",
|
|
29
|
-
url: "https://x.com/theankansaha",
|
|
30
|
-
icon: <FaTwitter />,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "Threads",
|
|
34
|
-
url: "https://www.threads.com/@theankansaha",
|
|
35
|
-
icon: <TbBrandThreads />,
|
|
36
|
-
},
|
|
37
|
-
{ name: "Dev.to", url: "https://dev.to/ankansaha", icon: <FaDev /> },
|
|
38
|
-
{
|
|
39
|
-
name: "YouTube",
|
|
40
|
-
url: "http://youtube.com/@WeekendDev",
|
|
41
|
-
icon: <FaYoutube />,
|
|
42
|
-
},
|
|
43
|
-
{ name: "GitHub", url: "https://github.com/AnkanSaha", icon: <FaGithub /> },
|
|
44
|
-
{
|
|
45
|
-
name: "Gmail",
|
|
46
|
-
url: "mailto:ankansahaofficial@gmail.com",
|
|
47
|
-
icon: <FaEnvelope />,
|
|
48
|
-
},
|
|
49
|
-
];
|
|
50
|
-
|
|
51
|
-
const milestones = [
|
|
52
|
-
{
|
|
53
|
-
icon: <MdSchool className="text-blue-500 text-4xl" />,
|
|
54
|
-
title: "Humble Beginnings",
|
|
55
|
-
description:
|
|
56
|
-
"Hi, I'm Ankan! I was born in Ranaghat, a small town where I started my journey with limited resources but an unquenchable curiosity for technology.",
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
icon: <GiJourney className="text-green-500 text-4xl" />,
|
|
60
|
-
title: "Overcoming Challenges",
|
|
61
|
-
description:
|
|
62
|
-
"Life threw many challenges my way, from academic setbacks to personal struggles. But I turned every failure into a stepping stone for growth.",
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
icon: <MdWork className="text-orange-500 text-4xl" />,
|
|
66
|
-
title: "Professional Growth",
|
|
67
|
-
description:
|
|
68
|
-
"I began my career as a Software Engineer, working tirelessly to learn, build, and contribute to impactful projects.",
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
icon: <GiSkills className="text-purple-500 text-4xl" />,
|
|
72
|
-
title: "Technical Expertise",
|
|
73
|
-
description:
|
|
74
|
-
"Over the years, I have mastered JavaScript, Node.js, React, and more. I'm always eager to learn new technologies and push my boundaries.",
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
icon: <GiAchievement className="text-red-500 text-4xl" />,
|
|
78
|
-
title: "Future Aspirations",
|
|
79
|
-
description:
|
|
80
|
-
"My journey is far from over. I aim to inspire others through my story and continue growing both personally and professionally.",
|
|
81
|
-
},
|
|
82
|
-
];
|
|
83
|
-
|
|
84
|
-
return (
|
|
85
|
-
<div className="p-6 animate-fade-in">
|
|
86
|
-
<div className="bg-gradient-to-r from-blue-500 to-purple-600 text-white p-8 rounded-lg shadow-lg">
|
|
87
|
-
<h1 className="text-4xl font-bold mb-4 text-center">Hi, I'm Ankan!</h1>
|
|
88
|
-
<p className="text-lg leading-relaxed mb-6 text-center">
|
|
89
|
-
From a small town in Ranaghat to becoming a Software Engineer, my
|
|
90
|
-
journey is a story of resilience, determination, and the power of
|
|
91
|
-
self-learning. Here's how I turned challenges into opportunities and
|
|
92
|
-
built a life I'm proud of.
|
|
93
|
-
</p>
|
|
94
|
-
</div>
|
|
95
|
-
|
|
96
|
-
<h2 className="text-2xl font-semibold mt-8 mb-4 text-center">
|
|
97
|
-
My Journey
|
|
98
|
-
</h2>
|
|
99
|
-
<ul className="space-y-6">
|
|
100
|
-
{milestones.map((milestone, index) => (
|
|
101
|
-
<li
|
|
102
|
-
key={index}
|
|
103
|
-
className="flex items-start gap-4 bg-white dark:bg-gray-800 p-6 rounded-lg shadow-md hover:shadow-xl transition-transform transform hover:-translate-y-2"
|
|
104
|
-
>
|
|
105
|
-
<div>{milestone.icon}</div>
|
|
106
|
-
<div>
|
|
107
|
-
<h3 className="text-xl font-semibold text-gray-900 dark:text-white">
|
|
108
|
-
{milestone.title}
|
|
109
|
-
</h3>
|
|
110
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
111
|
-
{milestone.description}
|
|
112
|
-
</p>
|
|
113
|
-
</div>
|
|
114
|
-
</li>
|
|
115
|
-
))}
|
|
116
|
-
</ul>
|
|
117
|
-
|
|
118
|
-
<h2 className="text-2xl font-semibold mt-8 mb-4 text-center">
|
|
119
|
-
Social Handles
|
|
120
|
-
</h2>
|
|
121
|
-
<ul className="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
122
|
-
{socialLinks.map((link) => (
|
|
123
|
-
<li key={link.name} className="group">
|
|
124
|
-
<a
|
|
125
|
-
href={link.url}
|
|
126
|
-
target="_blank"
|
|
127
|
-
rel="noopener noreferrer"
|
|
128
|
-
className="flex flex-col items-center p-4 bg-white dark:bg-gray-800 rounded-lg shadow-md hover:shadow-xl transition-transform transform hover:-translate-y-2"
|
|
129
|
-
>
|
|
130
|
-
<span className="text-4xl mb-2 text-blue-500">{link.icon}</span>
|
|
131
|
-
<span className="text-gray-700 dark:text-gray-300 group-hover:text-blue-500">
|
|
132
|
-
{link.name}
|
|
133
|
-
</span>
|
|
134
|
-
</a>
|
|
135
|
-
</li>
|
|
136
|
-
))}
|
|
137
|
-
</ul>
|
|
138
|
-
</div>
|
|
139
|
-
);
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export default MaintainersZone;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Database, Zap, Shield, Code } from "lucide-react";
|
|
3
|
-
|
|
4
|
-
const PainPoints: React.FC = () => {
|
|
5
|
-
return (
|
|
6
|
-
<section id="pain-points" className="pt-12 scroll-mt-20 relative">
|
|
7
|
-
<h2 className="text-3xl font-bold mb-8 flex items-center gap-2">
|
|
8
|
-
<Zap className="h-8 w-8 text-red-500" />
|
|
9
|
-
Pain Points as a Node.js Backend Engineer
|
|
10
|
-
</h2>
|
|
11
|
-
<ul className="space-y-6">
|
|
12
|
-
<li className="flex items-start gap-4">
|
|
13
|
-
<div className="flex-shrink-0">
|
|
14
|
-
<Zap className="h-6 w-6 text-orange-500" />
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
18
|
-
Heavyweight NoSQL Databases
|
|
19
|
-
</h3>
|
|
20
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
21
|
-
Using databases like MongoDB for small to medium-sized projects
|
|
22
|
-
felt excessive and inefficient.
|
|
23
|
-
</p>
|
|
24
|
-
</div>
|
|
25
|
-
</li>
|
|
26
|
-
<li className="flex items-start gap-4">
|
|
27
|
-
<div className="flex-shrink-0">
|
|
28
|
-
<Database className="h-6 w-6 text-blue-500" />
|
|
29
|
-
</div>
|
|
30
|
-
<div>
|
|
31
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
32
|
-
Complex Setup
|
|
33
|
-
</h3>
|
|
34
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
35
|
-
Setting up and managing traditional databases required significant
|
|
36
|
-
time and effort.
|
|
37
|
-
</p>
|
|
38
|
-
</div>
|
|
39
|
-
</li>
|
|
40
|
-
<li className="flex items-start gap-4">
|
|
41
|
-
<div className="flex-shrink-0">
|
|
42
|
-
<Shield className="h-6 w-6 text-green-500" />
|
|
43
|
-
</div>
|
|
44
|
-
<div>
|
|
45
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
46
|
-
Tree Structure
|
|
47
|
-
</h3>
|
|
48
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
49
|
-
AxioDB's JSON-native approach allows for hierarchical tree
|
|
50
|
-
structures, making data organization intuitive and efficient.
|
|
51
|
-
</p>
|
|
52
|
-
</div>
|
|
53
|
-
</li>
|
|
54
|
-
<li className="flex items-start gap-4">
|
|
55
|
-
<div className="flex-shrink-0">
|
|
56
|
-
<Code className="h-6 w-6 text-purple-500" />
|
|
57
|
-
</div>
|
|
58
|
-
<div>
|
|
59
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
60
|
-
Improved Data Structure & Algorithm Learning
|
|
61
|
-
</h3>
|
|
62
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
63
|
-
Building AxioDB helped me deepen my understanding of data
|
|
64
|
-
structures and algorithms, enhancing my problem-solving skills.
|
|
65
|
-
</p>
|
|
66
|
-
</div>
|
|
67
|
-
</li>
|
|
68
|
-
<li className="flex items-start gap-4">
|
|
69
|
-
<div className="flex-shrink-0">
|
|
70
|
-
<Database className="h-6 w-6 text-teal-500" />
|
|
71
|
-
</div>
|
|
72
|
-
<div>
|
|
73
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
74
|
-
Node.js File System I/O Operations
|
|
75
|
-
</h3>
|
|
76
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
77
|
-
This project helped me gain hands-on experience with Node.js File
|
|
78
|
-
System I/O operations, crucial for efficient file-based storage.
|
|
79
|
-
</p>
|
|
80
|
-
</div>
|
|
81
|
-
</li>
|
|
82
|
-
<li className="flex items-start gap-4">
|
|
83
|
-
<div className="flex-shrink-0">
|
|
84
|
-
<Zap className="h-6 w-6 text-yellow-500" />
|
|
85
|
-
</div>
|
|
86
|
-
<div>
|
|
87
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
88
|
-
Node.js Streams
|
|
89
|
-
</h3>
|
|
90
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
91
|
-
Implementing Node.js Streams in AxioDB allowed me to handle large
|
|
92
|
-
datasets efficiently in real-world scenarios.
|
|
93
|
-
</p>
|
|
94
|
-
</div>
|
|
95
|
-
</li>
|
|
96
|
-
<li className="flex items-start gap-4">
|
|
97
|
-
<div className="flex-shrink-0">
|
|
98
|
-
<Shield className="h-6 w-6 text-pink-500" />
|
|
99
|
-
</div>
|
|
100
|
-
<div>
|
|
101
|
-
<h3 className="text-lg font-semibold text-gray-900 dark:text-white">
|
|
102
|
-
Memory Management with InMemoryCache
|
|
103
|
-
</h3>
|
|
104
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
105
|
-
Designing the InMemoryCache strategy enhanced my understanding of
|
|
106
|
-
memory management and optimization techniques.
|
|
107
|
-
</p>
|
|
108
|
-
</div>
|
|
109
|
-
</li>
|
|
110
|
-
</ul>
|
|
111
|
-
|
|
112
|
-
{/* Stylized Signature */}
|
|
113
|
-
<div className="absolute bottom-[-50px] right-0 text-right pr-4 pb-4">
|
|
114
|
-
<p
|
|
115
|
-
className="italic text-lg text-gray-700 dark:text-gray-300"
|
|
116
|
-
style={{ fontFamily: "'Dancing Script', cursive" }}
|
|
117
|
-
>
|
|
118
|
-
Ankan Saha
|
|
119
|
-
</p>
|
|
120
|
-
<p className="text-sm text-gray-500 dark:text-gray-400">Project Lead</p>
|
|
121
|
-
</div>
|
|
122
|
-
</section>
|
|
123
|
-
);
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
export default PainPoints;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ShieldCheck, Key, AlertTriangle, Zap, Database } from "lucide-react";
|
|
3
|
-
|
|
4
|
-
const Security: React.FC = () => {
|
|
5
|
-
return (
|
|
6
|
-
<section id="security" className="pt-12 scroll-mt-20">
|
|
7
|
-
<h2 className="text-3xl font-bold mb-6 flex items-center gap-2">
|
|
8
|
-
<ShieldCheck className="h-8 w-8 text-green-500" />
|
|
9
|
-
Security
|
|
10
|
-
</h2>
|
|
11
|
-
|
|
12
|
-
<p className="text-gray-700 dark:text-gray-300 mb-8">
|
|
13
|
-
AxioDB prioritizes data security with several built-in features designed
|
|
14
|
-
to protect your data. Whether you're storing sensitive user information
|
|
15
|
-
or critical business data, AxioDB provides the tools you need to keep it
|
|
16
|
-
secure.
|
|
17
|
-
</p>
|
|
18
|
-
|
|
19
|
-
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
|
|
20
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-md border border-gray-100 dark:border-gray-700">
|
|
21
|
-
<div className="flex items-center gap-2 mb-4">
|
|
22
|
-
<Key className="h-6 w-6 text-blue-500" />
|
|
23
|
-
<h3 className="text-lg font-semibold">Encryption</h3>
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
27
|
-
AxioDB offers optional AES-256 encryption for collections. When
|
|
28
|
-
enabled, all data is encrypted before being written to disk and
|
|
29
|
-
decrypted when read, ensuring that sensitive data remains protected
|
|
30
|
-
at rest.
|
|
31
|
-
</p>
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-md border border-gray-100 dark:border-gray-700">
|
|
35
|
-
<div className="flex items-center gap-2 mb-4">
|
|
36
|
-
<Database className="h-6 w-6 text-purple-500" />
|
|
37
|
-
<h3 className="text-lg font-semibold">Secure Storage</h3>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
41
|
-
Data is stored in secure{" "}
|
|
42
|
-
<code className="bg-gray-100 dark:bg-gray-900 px-1 py-0.5 rounded">
|
|
43
|
-
.axiodb
|
|
44
|
-
</code>{" "}
|
|
45
|
-
files, which use a structured format to maintain data integrity and
|
|
46
|
-
prevent unauthorized access or corruption.
|
|
47
|
-
</p>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-md border border-gray-100 dark:border-gray-700">
|
|
51
|
-
<div className="flex items-center gap-2 mb-4">
|
|
52
|
-
<Zap className="h-6 w-6 text-orange-500" />
|
|
53
|
-
<h3 className="text-lg font-semibold">InMemoryCache</h3>
|
|
54
|
-
</div>
|
|
55
|
-
|
|
56
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
57
|
-
The InMemoryCache mechanism not only improves performance but also
|
|
58
|
-
adds a layer of security by reducing the frequency of disk reads,
|
|
59
|
-
minimizing the exposure of sensitive data.
|
|
60
|
-
</p>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
|
|
64
|
-
<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-md border border-gray-100 dark:border-gray-700 mb-8">
|
|
65
|
-
<h3 className="text-xl font-semibold mb-4">
|
|
66
|
-
Implementing Secure Collections
|
|
67
|
-
</h3>
|
|
68
|
-
|
|
69
|
-
<p className="text-gray-700 dark:text-gray-300 mb-4">
|
|
70
|
-
To create a secure, encrypted collection, simply pass the{" "}
|
|
71
|
-
<code className="bg-gray-100 dark:bg-gray-900 px-1 py-0.5 rounded">
|
|
72
|
-
crypto
|
|
73
|
-
</code>{" "}
|
|
74
|
-
parameter as{" "}
|
|
75
|
-
<code className="bg-gray-100 dark:bg-gray-900 px-1 py-0.5 rounded">
|
|
76
|
-
true
|
|
77
|
-
</code>{" "}
|
|
78
|
-
and provide a secret key when creating the collection:
|
|
79
|
-
</p>
|
|
80
|
-
|
|
81
|
-
<pre className="bg-gray-100 dark:bg-gray-900 p-4 rounded-md overflow-x-auto mb-4">
|
|
82
|
-
<code className="text-sm font-mono">
|
|
83
|
-
{`// Create an encrypted collection
|
|
84
|
-
const secureCollection = await db.createCollection(
|
|
85
|
-
"users",
|
|
86
|
-
userSchema,
|
|
87
|
-
true, // Enable encryption
|
|
88
|
-
"your-strong-secret-key"
|
|
89
|
-
);`}
|
|
90
|
-
</code>
|
|
91
|
-
</pre>
|
|
92
|
-
|
|
93
|
-
<p className="text-gray-700 dark:text-gray-300 mb-4">
|
|
94
|
-
Once created, all operations on the collection (insert, query, update,
|
|
95
|
-
delete) will automatically handle encryption and decryption, making
|
|
96
|
-
the process transparent to your application.
|
|
97
|
-
</p>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<div className="bg-yellow-50 dark:bg-yellow-900/20 border-l-4 border-yellow-500 p-4 rounded-r-lg mb-8">
|
|
101
|
-
<div className="flex items-center gap-2 mb-2">
|
|
102
|
-
<AlertTriangle className="h-5 w-5 text-yellow-500" />
|
|
103
|
-
<h3 className="font-semibold">Security Best Practices</h3>
|
|
104
|
-
</div>
|
|
105
|
-
|
|
106
|
-
<ul className="space-y-2 list-disc pl-6 text-gray-700 dark:text-gray-300">
|
|
107
|
-
<li>
|
|
108
|
-
Use strong, unique encryption keys for each sensitive collection
|
|
109
|
-
</li>
|
|
110
|
-
<li>Never hardcode encryption keys in your application code</li>
|
|
111
|
-
<li>
|
|
112
|
-
Consider using environment variables or a secure key management
|
|
113
|
-
system
|
|
114
|
-
</li>
|
|
115
|
-
<li>Implement proper application-level access controls</li>
|
|
116
|
-
<li>Regularly backup your encrypted databases</li>
|
|
117
|
-
<li>
|
|
118
|
-
Keep your AxioDB version updated to benefit from security patches
|
|
119
|
-
</li>
|
|
120
|
-
</ul>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
<p className="text-gray-700 dark:text-gray-300">
|
|
124
|
-
For reporting security vulnerabilities or concerns, please refer to the{" "}
|
|
125
|
-
<a
|
|
126
|
-
href="#"
|
|
127
|
-
className="text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300"
|
|
128
|
-
>
|
|
129
|
-
SECURITY.md
|
|
130
|
-
</a>{" "}
|
|
131
|
-
file in the project repository.
|
|
132
|
-
</p>
|
|
133
|
-
</section>
|
|
134
|
-
);
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
export default Security;
|