Tech Stack
Frontend
This section documents the structure of the frontend and outlines the important interactions.
/client
├── public/
├── src/
│ ├── assets/
│ ├── components/
│ ├── layout/
│ ├── pages/
│ ├── App.css
│ ├── App.jsx
│ ├── index.css
│ ├── main.jsx
├── index.html
├── package.json
├── vite.config.js
Important Files & Directories
index.html
serves as a way to connect our React framework to standard HTML format.package.json
is where all the dependancies of our node.js config livesmain.jsx
is where we inject the jsx code into the root div in the index.html. This is also where the website routing is structuredApp.jsx
can be thought of as the "home" pageindex.css
provides the style of our websitelayout directory
structures main website so that it can be browsed through dynamicallypages directory
populates the page using the layoutcomponents directory
the bread and butter of react lives here. React follows a composable model, where we build smaller components and are able to dynamically and efficiently call them whenever they are needed.
Concepts
A vague list of core concepts to learn
HTML
CSS
node.js
React.js
React Components
react-dom-router
useState
useEffect
Resources
- Full Stack Development Explained
- 100+ Web Development Things you Should Know
- How to OVER Engineer a Website // What is a Tech Stack?
- How to Create a Express/Node + React Project | Node Backend + React Frontend
- Scrimba: Learn React
Backend Server
This section outlines the structure of the backend server, and important concepts to understand the structure.
Structure
/server
├── routes/
├── services/
├── tests/
├── src/
│ ├── constants.js
│ ├── index.js
│ ├── neo4j.js
├── .env
├── package.json
Important Files & Directories
index.js
initializes the neo4j database connection and api routing using Express.js as the server.env
config file which contains information necessary to connect to the neo4j databaseconstants.js
contain config information in the form of jsneo4j.js
initializes a singleton instance of the neo4j driver, which is used to make API calls to the databaseroutes.js
is where API calls are created which utilizes the neo4j driverservices directory
contains a list of classes which contains the methods to build the API calls in routes.
Concepts
A Vague list of concepts that are useful to understand
API calls
server
routing
middleware
backend frameworks