Skip to content

Automobile service appointment booking app using react native

Notifications You must be signed in to change notification settings

anshad/auto-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto Service

An application solution for multitenant automobile service providers.

Software Dependencies

  • Node
  • MongoDB
  • Android SDK / XCode (optional: for running app on simulator)

What is done

  • Auto format code using prettier
  • Lint fixes using eslint
  • API documentation using apidocjs
  • Secure REST API with JWT authentication
  • Deployed documentation in GiHub pages
  • Deployed API on virtual private server
  • Deployed web app on virtual private server
  • Web : seller registration, login, add default slot times, open slot for a date
  • App : Signup, login, dashboard, seller list

What can be improved or added

  • Improve user interface - Web, App
  • Better directory structure
  • Code refactoring for better reusability and maintainability
  • Unit testing and code coverage
  • Location based seller listing on app (sort nearby) - App
  • CI/CD for auto build and deployment
  • Forgot password, reset password - Web, App
  • OTP authentication - App
  • Email confirmation - Web, App
  • Payment gateway and billing/invoicing system - Web, App
  • Better form controls (only digits on phone number, validations, dynamic dropdowns, etc.) - Web, App
  • Improve state management and network calls - Web, App
  • Validation on password confirmaion - Web
  • Improve logic for securing protected web routes - Web
  • Pagination - Web
  • Edit/delete items from list - Web
  • Comments on code for maintainability - Web, App, API
  • Redux/MobX - Web, App
  • Improve user experience - Web, App
  • Progress spinner - Web, App
  • Close an opened slot date - Web
  • Close expired slot date - Web
  • Avoid callback hells - API
  • Move re-usable code to utils
  • MongoDB Security
  • Consistent form controls - App
  • Improve database schema and mapping - API

REST API documentation

https://anshad.github.io/auto-service/

REST API Endpoint

http://51.161.33.216:3000/api/v1/

Web Portal

http://51.161.33.216/#/

Re-publish API documentation

git subtree push --prefix api/doc origin gh-pages

App - screens

Android ios
home home
login login
signup signup
dashboard dashboard
search search
slot slot
request request

Web - screens

login
register
slots
slots
slots

Hack-fix for icon/build issues

The latest version of react native will take care of auto linking dependencies. But we need some hack-fix for icon issues.

To have icons on android, run react-native link react-native-vector-icons (need to unlink for running or building ios)

To fix ios build error, run react-native unlink react-native-vector-icons then to fix icon issues add the following in ios/autoService/Info.plist after <key>UIAppFonts</key>.

<array>
    <string>FontAwesome.ttf</string>
    <string>FontAwesome5_Brands.ttf</string>
    <string>FontAwesome5_Regular.ttf</string>
    <string>FontAwesome5_Solid.ttf</string>
    <string>Foundation.ttf</string>
    <string>Ionicons.ttf</string>
    <string>MaterialIcons.ttf</string>
    <string>MaterialCommunityIcons.ttf</string>
</array>

References