├── .eslintrc.js
├── .firebase
└── hosting.YnVpbGQ.cache
├── .firebaserc
├── .gitignore
├── LICENSE
├── README.md
├── build
└── bundle.js.LICENSE.txt
├── firebase.json
├── functions
├── .eslintrc.js
├── .gitignore
├── controllers
│ └── cookieController.js
├── index.js
└── package.json
├── package.json
├── server
├── controllers
│ └── cookieController.js
└── server.js
├── src
├── App.jsx
├── assets
│ ├── bg_photo.png
│ ├── ck_photo.png
│ ├── dangoDB_logo_long_midboi.png
│ ├── dango_deno.png
│ ├── dango_deno_256 copy.ico
│ ├── dango_deno_256.png
│ ├── ey_photo.png
│ └── sj_photo.png
├── components
│ ├── ContactCard.jsx
│ ├── CopyButton.jsx
│ ├── Hero.jsx
│ ├── HomeFooter.jsx
│ ├── PropButton.jsx
│ ├── PropForm.jsx
│ ├── SchemaGenerator.jsx
│ ├── UserSchema.jsx
│ ├── buttons
│ │ ├── Buttons.jsx
│ │ ├── SetRequiredButton.jsx
│ │ ├── SetUniqueButton.jsx
│ │ └── TypeButton.jsx
│ ├── containers
│ │ ├── MainContainer.jsx
│ │ └── SideBar.jsx
│ └── website
│ │ ├── DemoPage.jsx
│ │ ├── DocsPage.jsx
│ │ ├── HomePage.jsx
│ │ ├── SchemaPage.jsx
│ │ └── navbar
│ │ └── NavBar.jsx
├── index.html
├── index.js
├── myIcon.ico
└── style
│ ├── base
│ ├── _boilerplate.scss
│ ├── _colors.scss
│ ├── _index.scss
│ ├── _mixins.scss
│ └── _typography.scss
│ ├── layouts
│ ├── _demoPage.scss
│ ├── _docsPage.scss
│ ├── _homePage.scss
│ ├── _index.scss
│ ├── _navbar.scss
│ └── _schemaPage.scss
│ └── styles.scss
└── webpack.config.js
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2021: true,
5 | node: true,
6 | },
7 | extends: ['eslint:recommended', 'plugin:react/recommended'],
8 | parserOptions: {
9 | ecmaFeatures: {
10 | jsx: true,
11 | },
12 | ecmaVersion: 'latest',
13 | sourceType: 'module',
14 | },
15 | plugins: ['react'],
16 | rules: {
17 | indent: ['error', 2],
18 | quotes: ['error', 'single'],
19 | semi: ['error', 'always'],
20 | 'no-unused-vars': 'off',
21 | 'no-prototype-builtins': 'off',
22 | 'react/prop-types': 'off',
23 | },
24 | };
25 |
--------------------------------------------------------------------------------
/.firebase/hosting.YnVpbGQ.cache:
--------------------------------------------------------------------------------
1 | 404.html,1652915590657,b7bab6b83fa074653ff28c8d2a64135d3434575f70a12ab3d3ba8080461b9537
2 | bundle.js,1652981739201,2b9768126aeabe4a498473c9e93faf8331ec72fe2f539b7371a39c145129904f
3 | bundle.js.LICENSE.txt,1652888615157,e497a8a3d892952d6ffb31b7068c0bc6aaf4a133a2916fb428f224be5108cc16
4 | dango_deno_256.png,1652888321997,d8ca8397915f889fc8ae18e55cf5775fa5635ea4154ac93cd25df02415b62709
5 | index.html,1652965671761,f234f5288d04a672f3e0899e8e1dfcd75d4a22e1d17772f7e7876ba685150d7f
6 |
--------------------------------------------------------------------------------
/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "dangodb-29d80"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Microbundle cache
57 | .rpt2_cache/
58 | .rts2_cache_cjs/
59 | .rts2_cache_es/
60 | .rts2_cache_umd/
61 |
62 | # Optional REPL history
63 | .node_repl_history
64 |
65 | # Output of 'npm pack'
66 | *.tgz
67 |
68 | # Yarn Integrity file
69 | .yarn-integrity
70 |
71 | # dotenv environment variables file
72 | .env
73 | .env.test
74 |
75 | # parcel-bundler cache (https://parceljs.org/)
76 | .cache
77 |
78 | # Next.js build output
79 | .next
80 |
81 | # Nuxt.js build / generate output
82 | .nuxt
83 | dist
84 | build
85 |
86 | # Gatsby files
87 | .cache/
88 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
89 | # https://nextjs.org/blog/next-9-1#public-directory-support
90 | # public
91 |
92 | # vuepress build output
93 | .vuepress/dist
94 |
95 | # Serverless directories
96 | .serverless/
97 |
98 | # FuseBox cache
99 | .fusebox/
100 |
101 | # DynamoDB Local files
102 | .dynamodb/
103 |
104 | # TernJS port file
105 | .tern-port
106 |
107 | package-lock.json
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 OSLabs Beta
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # dangoDB_website
2 |
3 |
dangoDB
4 |
5 | A MongoDB ODM for Deno
6 |
7 |
8 |
9 |
10 | Please visit our Generate Schema page in order to easily choose and render a property type that you can then copy and utilize in dangoDB for a more streamlined experience.
11 |
12 | Resources:
13 | Find the documentation here for dangoDB
14 | V
15 | Checkout our Medium Article
16 |
--------------------------------------------------------------------------------
/build/bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /**
2 | * @license React
3 | * react-dom.production.min.js
4 | *
5 | * Copyright (c) Facebook, Inc. and its affiliates.
6 | *
7 | * This source code is licensed under the MIT license found in the
8 | * LICENSE file in the root directory of this source tree.
9 | */
10 |
11 | /**
12 | * @license React
13 | * react-jsx-runtime.production.min.js
14 | *
15 | * Copyright (c) Facebook, Inc. and its affiliates.
16 | *
17 | * This source code is licensed under the MIT license found in the
18 | * LICENSE file in the root directory of this source tree.
19 | */
20 |
21 | /**
22 | * @license React
23 | * react.production.min.js
24 | *
25 | * Copyright (c) Facebook, Inc. and its affiliates.
26 | *
27 | * This source code is licensed under the MIT license found in the
28 | * LICENSE file in the root directory of this source tree.
29 | */
30 |
31 | /**
32 | * @license React
33 | * scheduler.production.min.js
34 | *
35 | * Copyright (c) Facebook, Inc. and its affiliates.
36 | *
37 | * This source code is licensed under the MIT license found in the
38 | * LICENSE file in the root directory of this source tree.
39 | */
40 |
41 | /**
42 | * React Router DOM v6.3.0
43 | *
44 | * Copyright (c) Remix Software Inc.
45 | *
46 | * This source code is licensed under the MIT license found in the
47 | * LICENSE.md file in the root directory of this source tree.
48 | *
49 | * @license MIT
50 | */
51 |
52 | /**
53 | * React Router v6.3.0
54 | *
55 | * Copyright (c) Remix Software Inc.
56 | *
57 | * This source code is licensed under the MIT license found in the
58 | * LICENSE.md file in the root directory of this source tree.
59 | *
60 | * @license MIT
61 | */
62 |
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {
2 | "hosting": {
3 | "public": "build",
4 | "ignore": [
5 | "firebase.json",
6 | "**/.*",
7 | "**/node_modules/**"
8 | ],
9 | "rewrites": [
10 | {
11 | "source": "**",
12 | "function": "fireapp"
13 | }
14 | ]
15 | },
16 | "functions": {
17 | "predeploy": [
18 | "npm --prefix \"$RESOURCE_DIR\" run lint"
19 | ],
20 | "source": "functions"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/functions/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | es6: true,
5 | node: true,
6 | },
7 | extends: [],
8 | rules: {},
9 | };
10 |
--------------------------------------------------------------------------------
/functions/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
--------------------------------------------------------------------------------
/functions/controllers/cookieController.js:
--------------------------------------------------------------------------------
1 | const cookieController = {};
2 |
3 | // Session cookies will persist schema state on page refresh.
4 | cookieController.setSessionCookie = (req, res, next) => {
5 | try {
6 | const { schema } = req.body;
7 | if (req.cookies.__session) res.clearCookie('__session');
8 | res.cookie('__session', schema);
9 | return next();
10 | } catch (err) {
11 | const error = {
12 | log: 'Express error handler caught an error in the setSessionCookie middleware.',
13 | status: 400,
14 | message: { err },
15 | };
16 | return next(error);
17 | }
18 | };
19 |
20 | cookieController.getSessionCookie = (req, res, next) => {
21 | try {
22 | const schema = req.cookies.__session;
23 | res.locals.schema = schema !== undefined ? schema : [];
24 | return next();
25 | } catch (err) {
26 | const error = {
27 | log: 'Express error handler caught an error in the getSessionCookie middleware.',
28 | status: 400,
29 | message: { err },
30 | };
31 | return next(error);
32 | }
33 | };
34 |
35 | module.exports = cookieController;
--------------------------------------------------------------------------------
/functions/index.js:
--------------------------------------------------------------------------------
1 | const functions = require('firebase-functions');
2 | const firebase = require('firebase-admin');
3 |
4 | const express = require('express');
5 | const path = require('path');
6 | const cookieParser = require('cookie-parser');
7 |
8 | const cookieController = require('./controllers/cookieController');
9 |
10 | const app = express();
11 | const PORT = 3000;
12 |
13 | // Global JSON, HTTP body, and cookie parser
14 | app.use(express.json());
15 | app.use(express.urlencoded({ extended: true }));
16 | app.use(cookieParser());
17 |
18 | // statically serve everything in the build folder on the route '/build'
19 | // app.use('/build',
20 | // express.static(path.resolve(__dirname, '../build'))
21 | // );
22 |
23 | exports.fireapp = functions.https.onRequest(app);
24 | app.post('/save-schema', cookieController.setSessionCookie, (req, res) => {
25 | return res.status(201).send();
26 | });
27 |
28 | app.get('/save-schema', cookieController.getSessionCookie, (req, res) => {
29 | return res.status(200).json(res.locals.schema);
30 | });
31 |
32 | // React Router handles client-side navigation of the below endpoints.
33 | // Each endpoint responds with the template index.html file for scenario of page refersh on one of those endpoints.
34 | // app.get('/docs',
35 | // (req, res) => {
36 | // return res.status(200).sendFile(path.join(__dirname, '../src/index.html'));
37 | // }
38 | // );
39 | // app.get('/demo',
40 | // (req, res) => {
41 | // return res.status(200).sendFile(path.join(__dirname, '../src/index.html'));
42 | // }
43 | // );
44 | // app.get('/schema',
45 | // (req, res) => {
46 | // return res.status(200).sendFile(path.join(__dirname, '../src/index.html'));
47 | // }
48 | // );
49 | // app.get('/',
50 | // (req, res) => {
51 | // return res.status(200).sendFile(path.join(__dirname, '../build/index.html'));
52 | // }
53 | // );
54 |
55 | // 404 route handler for unspecified endpoints
56 | app.use((req, res) => res.status(404).send('Page not found!'));
57 |
58 | // Global event handler
59 | app.use((err, req, res, next) => {
60 | const defaultErr = {
61 | log: `Unknown error: ${err}`,
62 | status: 400,
63 | message: { err: 'An error occured' },
64 | };
65 |
66 | // Overwrite default error properties with new error message information, if any
67 | const errObj = Object.assign(defaultErr, err);
68 |
69 | // Logs error stack to console
70 | console.log(errObj.log);
71 |
72 | // Completes HTTP cycle by sending back error message
73 | res.status(errObj.status).json(errObj.message);
74 | });
75 |
76 | app.listen(PORT, () => {
77 | console.log(`Server listening on port ${PORT}`);
78 | });
79 |
80 | // const app = require('../server/server');
81 | exports.fireapp = functions.https.onRequest(app);
82 | // exports.fireapp = functions.https.onRequest((req, res) => {
83 | // res.json(req.method)
84 | // });
85 |
86 | // // Create and Deploy Your First Cloud Functions
87 | // // https://firebase.google.com/docs/functions/write-firebase-functions
88 | //
89 | // exports.fireapp = functions.https.onRequest((request, response) => {
90 | // functions.logger.info("Hello logs!", {structuredData: true});
91 | // response.send("Hello from Firebase!");
92 | // });
93 |
--------------------------------------------------------------------------------
/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "functions",
3 | "description": "Cloud Functions for Firebase",
4 | "scripts": {
5 | "lint": "eslint .",
6 | "serve": "firebase emulators:start --only functions",
7 | "shell": "firebase functions:shell",
8 | "start": "npm run shell",
9 | "deploy": "firebase deploy --only functions",
10 | "logs": "firebase functions:log"
11 | },
12 | "engines": {
13 | "node": "16"
14 | },
15 | "main": "index.js",
16 | "dependencies": {
17 | "cookie-parser": "^1.4.6",
18 | "express": "^4.18.1",
19 | "firebase-admin": "^10.0.2",
20 | "firebase-functions": "^3.18.0"
21 | },
22 | "devDependencies": {
23 | "eslint": "^8.9.0",
24 | "eslint-config-google": "^0.14.0",
25 | "firebase-functions-test": "^0.2.0"
26 | },
27 | "private": true
28 | }
29 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dangodb_website",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "NODE_ENV=production node server/server.js",
8 | "build": "NODE_ENV=production webpack",
9 | "dev": "NODE_ENV=development webpack serve --open & nodemon server/server.js",
10 | "test": "echo \"Error: no test specified\" && exit 1",
11 | "lint": "eslint . --ext .js",
12 | "lint-fix": "eslint --fix . --ext .js"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "git+https://github.com/oslabs-beta/dangoDB_website.git"
17 | },
18 | "nodemonConfig": {
19 | "ignore": [
20 | "build",
21 | "client"
22 | ]
23 | },
24 | "keywords": [],
25 | "author": "dangoDB",
26 | "license": "ISC",
27 | "bugs": {
28 | "url": "https://github.com/oslabs-beta/dangoDB_website/issues"
29 | },
30 | "homepage": "https://github.com/oslabs-beta/dangoDB_website#readme",
31 | "dependencies": {
32 | "-": "^0.0.1",
33 | "@codemirror/lang-javascript": "^0.20.0",
34 | "@codemirror/theme-one-dark": "^0.20.0",
35 | "@emotion/react": "^11.9.0",
36 | "@emotion/styled": "^11.8.1",
37 | "@mui/material": "^5.7.0",
38 | "@uiw/react-codemirror": "^4.7.0",
39 | "babel-loader": "^8.2.5",
40 | "codemirror": "^5.65.3",
41 | "connect-history-api-fallback": "^1.6.0",
42 | "cookie-parser": "^1.4.6",
43 | "copy-to-clipboard": "^3.3.1",
44 | "css-loader": "^6.7.1",
45 | "express": "^4.18.1",
46 | "file-saver": "^2.0.5",
47 | "firebase": "^9.8.1",
48 | "firebase-admin": "^10.2.0",
49 | "firebase-functions": "^3.21.2",
50 | "html-webpack-plugin": "^5.5.0",
51 | "js-beautify": "^1.14.3",
52 | "kill-port": "^2.0.0",
53 | "nodemon": "^2.0.16",
54 | "path": "^0.12.7",
55 | "react": "^18.1.0",
56 | "react-copy-to-clipboard": "^5.1.0",
57 | "react-dom": "^18.1.0",
58 | "react-icons": "^4.3.1",
59 | "react-router-dom": "^6.3.0",
60 | "react-scripts": "^5.0.1",
61 | "react-syntax-highlighter": "^15.5.0"
62 | },
63 | "devDependencies": {
64 | "@babel/core": "^7.17.10",
65 | "@babel/preset-env": "^7.17.10",
66 | "@babel/preset-react": "^7.16.7",
67 | "cross-env": "^7.0.3",
68 | "eslint": "^8.15.0",
69 | "eslint-plugin-import": "^2.26.0",
70 | "eslint-plugin-jsx-a11y": "^6.5.1",
71 | "eslint-plugin-react": "^7.30.0",
72 | "eslint-plugin-react-hooks": "^4.5.0",
73 | "favicons": "^6.2.2",
74 | "file-loader": "^6.2.0",
75 | "sass": "^1.51.0",
76 | "sass-loader": "^12.6.0",
77 | "style-loader": "^3.3.1",
78 | "url-loader": "^4.1.1",
79 | "webpack": "^5.72.0",
80 | "webpack-cli": "^4.9.2",
81 | "webpack-dev-server": "^4.9.0"
82 | },
83 | "settings": {
84 | "react": {
85 | "version": "detect"
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/server/controllers/cookieController.js:
--------------------------------------------------------------------------------
1 | const cookieController = {};
2 |
3 | // Session cookies will persist schema state on page refresh.
4 | cookieController.setSessionCookie = (req, res, next) => {
5 | try {
6 | const { schema } = req.body;
7 | if (req.cookies.__session) res.clearCookie('__session');
8 | res.cookie('__session', schema);
9 | return next();
10 | } catch (err) {
11 | const error = {
12 | log: 'Express error handler caught an error in the setSessionCookie middleware.',
13 | status: 400,
14 | message: { err },
15 | };
16 | return next(error);
17 | }
18 | };
19 |
20 | cookieController.getSessionCookie = (req, res, next) => {
21 | try {
22 | const schema = req.cookies.__session;
23 | res.locals.schema = schema !== undefined ? schema : [];
24 | return next();
25 | } catch (err) {
26 | const error = {
27 | log: 'Express error handler caught an error in the getSessionCookie middleware.',
28 | status: 400,
29 | message: { err },
30 | };
31 | return next(error);
32 | }
33 | };
34 |
35 | module.exports = cookieController;
36 |
--------------------------------------------------------------------------------
/server/server.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const path = require('path');
3 |
4 | const cookieParser = require('cookie-parser');
5 | const cookieController = require('./controllers/cookieController');
6 |
7 | const app = express();
8 | const PORT = 3000;
9 |
10 | // Global JSON, HTTP body, and cookie parser
11 | app.use(express.json());
12 | app.use(express.urlencoded({ extended: true }));
13 | app.use(cookieParser());
14 |
15 | // statically serve everything in the build folder on the route '/build'
16 | app.use('/build', express.static(path.resolve(__dirname, '../build')));
17 |
18 | // post and store schema data session via cookie
19 | app.post('/save-schema', cookieController.setSessionCookie, (req, res) => res.status(201).send());
20 |
21 | // get schema from saved cookie session
22 | app.get('/save-schema', cookieController.getSessionCookie, (req, res) => res.status(200).json(res.locals.schema));
23 |
24 | app.get('/', (req, res) => res.status(200).sendFile(path.join(__dirname, '../src/index.html')));
25 |
26 | // 404 route handler for unspecified endpoints
27 | app.use((req, res) => res.status(404).send('Page not found!'));
28 |
29 | // Global event handler
30 | app.use((err, req, res, next) => {
31 | const defaultErr = {
32 | log: `Unknown error: ${err}`,
33 | status: 400,
34 | message: { err: 'An error occured' },
35 | };
36 |
37 | // Overwrite default error properties with new error message information, if any
38 | const errObj = Object.assign(defaultErr, err);
39 |
40 | // Logs error stack to console
41 | console.log(errObj.log);
42 |
43 | // Completes HTTP cycle by sending back error message
44 | res.status(errObj.status).json(errObj.message);
45 | });
46 |
47 | app.listen(PORT, () => {
48 | console.log(`Server listening on port ${PORT}`);
49 | });
50 |
51 | module.exports = app;
52 |
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { HashRouter, BrowserRouter, Routes, Route } from 'react-router-dom';
3 | import NavBar from './components/website/navbar/NavBar';
4 | import Home from './components/website/HomePage';
5 | // import Demo from './components/website/DemoPage';
6 | // import Docs from './components/website/DocsPage';
7 | import Schema from './components/website/SchemaPage';
8 |
9 |
10 | // App page housing all components
11 | const App = () => {
12 |
13 | const [savedProps, setSavedProps] = React.useState([]);
14 |
15 | React.useEffect(() => {
16 | fetch('/save-schema')
17 | .then((res) => res.json())
18 | .then((data) => {
19 | setSavedProps(data);
20 | })
21 | .catch((err) => {
22 | console.log(`${err}`);
23 | });
24 | }, []);
25 |
26 | return (
27 |
28 |
29 |
30 |
31 |
35 | }
36 | path="/"
37 | />
38 | } path="/schema" />
39 |
40 |
41 |
42 | );
43 | };
44 |
45 |
46 | export default App;
--------------------------------------------------------------------------------
/src/assets/bg_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/dangoDB_website/b578b836b76f007f9d2eeabec40a8c88c6000c0f/src/assets/bg_photo.png
--------------------------------------------------------------------------------
/src/assets/ck_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/dangoDB_website/b578b836b76f007f9d2eeabec40a8c88c6000c0f/src/assets/ck_photo.png
--------------------------------------------------------------------------------
/src/assets/dangoDB_logo_long_midboi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/dangoDB_website/b578b836b76f007f9d2eeabec40a8c88c6000c0f/src/assets/dangoDB_logo_long_midboi.png
--------------------------------------------------------------------------------
/src/assets/dango_deno.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/dangoDB_website/b578b836b76f007f9d2eeabec40a8c88c6000c0f/src/assets/dango_deno.png
--------------------------------------------------------------------------------
/src/assets/dango_deno_256 copy.ico:
--------------------------------------------------------------------------------
1 | �. �PNG
2 |
3 |
IHDR \r�f orNTϢw� .�IDATx�� x�W��'w��FB�4$)$���@gSJ�̤0-�-�>��0-��Ni�I�a�@!C�{�\[�f[�����o�lɖ%��������_�}�eɖ��}��Ȗ������m�;�� P� �S�g�-g666�D�W���cHq�t}(���=��9���>�Fâ;}h�
��qN���眩��gߵ��}%\9 Q��W���D?j�y�SmAe��,��wШ�A��.ݏ���w)�%���x~������pE`�ou�B�Ӈ�߲NxEк��T��2�����-��\W ��|i�*G2�&h(��힅�cX�U@��jC�{��������|���f��(��_/g���W��A� j���ƈ�WHH��'��A�~sS"Nm�4�a}�rF�P1°�_ۜ\��/TBo.�S���&� ���MG>�Vf;i��Y�wU>�Z�=��_Z W����c���|�ԱU���fp��f�W���!A�!W�?]Ԕ �v,1�뛛����Q�/ }c� �/�f~uy�V����7�}uЖ�����T�q�/q-�����x����O
4 | ^ۣ�d�ݫ����ǫ?U��J�v��RV�q���!�K� �W���G �t%`�J`Ǒ�$ħ{�