Caution
This repository hosts a project completed as part of my OpenClassrooms training program. Having successfully completed the program, the project has now been archived and will no longer be actively maintained. Please be aware that while the repository will remain accessible for reference, some links or features may no longer function as intended.
For this project, we have to build a banking application called "Argent Bank". The goal is to use an API to create a frontend application with React and Redux.
This project is currently in phase 1 of 2. This means that the following features are available:
- User in database can login and persist his session with a JWT token
- Unauthenticated user can register
- User can logout
- User can see and edit his profile
For the phase 2, we have to deal with the "transactions" feature. Please refer to the Swagger documentation for a proposition of API endpoints to implement.
- Node.js (v18.16.0)
If you are using a node version manager like FNM or NVM, you can run
fnm use
ornvm use
to automatically switch to the right node version.
Please refer to the package.json file for more informations about the dependencies with their version.
Technology/Library | Description |
---|---|
React | Frontend library |
Vite | Frontend build tool |
(S)CSS Modules | CSS modules with SCSS syntax |
TypeScript | Static type checker |
React Router DOM | Routing library |
React Redux | State management library |
Axios | HTTP client |
Tool | Description |
---|---|
ESLint | JavaScript linter |
Prettier | Code formatter |
Stylelint | CSS linter |
For this project, we use PNPM as package manager but you can also use NPM or Yarn instead.
-
Follow the backend installation instructions
-
Clone the repository
git clone https://github.com/alexperronnet/openclassrooms-13-argent-bank
-
Navigate to the project directory
cd openclassrooms-13-argent-bank
-
Install the dependencies
pnpm install
-
Start the development server
pnpm run dev
-
Open your browser and navigate to http://localhost:5173/
Script | Description |
---|---|
pnpm run dev |
Start the development server |
pnpm run build |
Build the project for production |
pnpm run preview |
Preview the production build |
pnpm run lint |
Run the linter |
pnpm run lint:fix |
Run the linter and fix the errors |
pnpm run format |
Run the formatter |
pnpm run format:fix |
Run the formatter and fix the errors |
pnpm run stylelint |
Run the style linter |
pnpm run stylelint:fix |
Run the style linter and fix the errors |
To get more informations about the backend installation, please refer to the backend repository.
If you are a Mac user, you may need to following this issue to install the backend.
If everything is working, the backend should be available at http://localhost:3001/ and the Swagger documentation at http://localhost:3001/api-docs/.
This is an OpenClassrooms project. The code is freely reusable, but assets are not because they are not mine. If you are also a student of OpenClassrooms, you can use my work as inspiration but I strongly recommend to not copy/paste any part of it.