(note that this repo is still under progress and more digrams (eerd. , uml class , state machine ,....etc) will be added soon )
Car Saviors is large scale project for eductional purposes. i have used the following :
- react native
- typescript
- overmind js https://overmindjs.org/
- expo
- styled components
- firebase
- cloud functions
- firestore
- rent car
- offer your car for rental
- request winch to save you
- see the nearest car workshops for you
- front end https://github.com/Othman2001/car-saviors-front-end
- backend cloud functions: https://github.com/Othman2001/car-saviors-backend
- admin dashboard: https://github.com/Othman2001/admincars
this repo is about the front end part, so let's talk more about the architecture used the front end code is divided in 3 main parts :
- appliction folder: which contains all the the business domain state objects (overmind js is dividing the code to state, actions , effects)
- infrastructure folder: any api / network requests or side effects can be found in this folder
- presnation folder: all the UI components
about the presnation you will find the code divied in two parts here :
- components : which is just UI
- containers : which is wrapper for the component and handles any complex logic
this application is little complex in terms of authentication and authorization as it offers a lot of services:
- if user is registerd his car for rental his role in the database will be changed to car-owner (this means he will see anthor navigations than the normal user )
- if the user is winch driver he will only see the map and the driver profle screen
- if the user is just normal user he will see the normal navigations
unfortunately till this moment there is no uploaded demo you can download the codebases and run them locally or watch the vedio of the app you want: https://drive.google.com/file/d/1trzu4Wpaq_IuJnM00OkBpqD9yVINLEkG/view?usp=sharing https://drive.google.com/file/d/1mhYzYr_bdsusSGCbn3ilYSJN_TeBY3pR/view?usp=sharing