Welcome to the Argent Bank app, a frontend project for the OpenClassrooms training program. This repository contains all the source code for both frontend and backend parts. The frontend was cloned from OpenClassrooms-Student-Center/Project-10-Bank-API. The backend is a micro API service that must be launched locally.
The goal of this project is to create a responsive web application for ARGENTBANK, a fictional new bank. The application allows clients to authenticate, manage their accounts, and update their profiles. Backend transaction features are currently in design, with API endpoints specified in a Swagger file. Redux is used for state management.
- React: For building the user interface.
- Redux: For state management.
- PropTypes: For component type-checking.
- Axios: For making HTTP calls.
- CSS3: For styling and responsive design.
- Local Micro API: The backend is a micro API that must be launched locally.
Argent Bank uses the following tech stack:
- Node.js v20.12.0 Ensure Node.js is installed. Check with
node --version
. - MongoDB Community Server
Please make sure you have the right versions and download both packages. You can verify this by using the following commands in your terminal:
# Check Node.js version
node --version
# Check Mongo version
mongo --version
- Npm: For dependency management
To install and run the project locally, follow these steps:
https://github.com/SyMelin/MelinSylvie_13_21072022.git
cd argent-bank-app
cd argent-bank-back
npm install
npm run dev:server
npm run populate-db
Your server should now be running at http://locahost:3001 and you will now have two users in your MongoDB database!
Once you run the populate-db
script, you should have two users in your database:
# Tony Stark
- First Name: `Tony`
- Last Name: `Stark`
- Email: `tony@stark.com`
- Password: `password123`
# Steve Rogers
- First Name: `Steve`,
- Last Name: `Rogers`,
- Email: `steve@rogers.com`,
- Password: `password456`
To learn more about how the API works, once you have started your local environment, you can visit: http://localhost:3001/api-docs
cd argent-bank-front
npm install
npm start
The app is locally available on port 3000
, go to http://localhost:3000
The Github Page version of this project is a slightly adapted version of the original application, which was designed to work with a local micro API for user authentication and data handling.
Due to the limitations of Github Pages (which only hosts static web pages), the local API was replaced by mocked data and mock requests. This allows the application to mimic the behaviour of the original version, providing a realistic demonstration of its functionality without the need for a live backend server.
The mocked data includes pre-defined user credentials that can be used to simulate user login. Once "logged in", the application behaves just as it would if it were communicating with a real backend server, allowing users to interact with the profile page (edit name form functional).
Please note that since the data is mocked, any changes made (like updating user information) will not persist after the page is refreshed.
This project is licensed under the MIT License. See the LICENSE file for more information.