The project maintains a direct relationship between components of the front end and their respective component in the back end. To map the components, you can go to /client_side/src/components and /server/app.js and see routes that go from the front end to the back end and, lastly, into the database.
Run the command bellow to install NPM
npm install -g npm
Make a directory and cd into it, then run:
git clone [email protected]:p-thompson/banking_system.git
Use the dabase schema.sql file to create the database.
CD into server and run:
npm install --force
After project is installed, modify the file /server/routes/db.js to match your database configuration (username and password)
Once db.js is configured, run:
npm run server
CD into client_side and run:
npm install --force
After project is installed the front end should be ready to connect to the backend. Simply run:
npm start
This should automatically open a local host on port 3001, if that is available/ not in use. A current valid customer in the database is username: brenden1, passwrd: password. A current valid admin in the database is username: nicole1, passwrd: password. Any user loaded in the database should work properly in the system.
In order to be able to view and edit the current database MySQL and Workbench, or some other GUI, are needed.
To download MySQL follow the link: https://dev.mysql.com/downloads/mysql/ // To download Workbnech follow the link: https://dev.mysql.com/downloads/workbench/
One successful, open MySQL Workbench and click on the local instance entry to create a connection to your MySQL Community Server. You can then open the schema found in the banking_system_schema folder in Workbench.
- All files in /client_side/src/components
- server/app.js
- the full contents in the banking_system_schema folder
Oliveira, Rafael (2022). Collab (Version 1.0) [Source Code]. https://github.com/Ahrfry/Collab The resource cited above provided the framework for connecting the frontend, backend, and database by implementing the following files (with my own modifications to fit the needs of my project):
- /server/routes/db.js
- /client_side/src/App.js
- /client_side/src/App.css
- /client_side/src/index.js