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.htmlserves as a way to connect our React framework to standard HTML format.package.jsonis where all the dependancies of our node.js config livesmain.jsxis where we inject the jsx code into the root div in the index.html. This is also where the website routing is structuredApp.jsxcan be thought of as the "home" pageindex.cssprovides the style of our websitelayout directorystructures main website so that it can be browsed through dynamicallypages directorypopulates the page using the layoutcomponents directorythe 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
HTMLCSSnode.jsReact.jsReact Componentsreact-dom-routeruseStateuseEffect
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.jsinitializes the neo4j database connection and api routing using Express.js as the server.envconfig file which contains information necessary to connect to the neo4j databaseconstants.jscontain config information in the form of jsneo4j.jsinitializes a singleton instance of the neo4j driver, which is used to make API calls to the databaseroutes.jsis where API calls are created which utilizes the neo4j driverservices directorycontains 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 callsserverroutingmiddlewarebackend frameworks