Skip to content

Crash viewer web application for displaying the crashes reported by rn-crash-reporter components from React Native mobile applications.

License

Notifications You must be signed in to change notification settings

SystangoTechnologies/Crashlyzer

Repository files navigation

Crashlyzer

Dashboard tool to analyze the reported crashes from the React Native Crash Reporter library.

Technology

  • Hapi - Server side framework
  • Handlebar - HTML templating engine
  • MySql - Mysql database
  • SASS - CSS preprocessor
  • Gulp - Javascript tasks automation
  • WebPack - Asset pipeline
  • Docker - Containerisation platform

Application Structure

|
| -- app
|   |-- controllers        // Controllers are organised by module names
|   |   |-- <module_name>  // Each controller defines config and handler for that route
|   |
|   |-- helpers            // Helper functions used across application
|   |-- models             // All mongoose models are defined here
|   |-- routes             // All app routes are defined here
|   |   |-- <route_plugin> // Route module is a hapi plugin and can be toggled from config/manifest.js
|   |
|   `-- templates          // All server-rendered handlebar templates, partials and helpers
|       |-- <module_name>  // Templates are organised by module names
|   
|-- assets                 // Contains all static resources 
|   |-- fonts              // Fonts used in application
|   |-- images             // Images used in application
|   |-- misc               // Misc resources used in application
|   |-- scripts            // Client javscripts files which are then packed by webpack
|   |-- styles             // All SASS stylesheets
|   |   |-- <module_name>  // Styles are organised by module names
|   
|-- config                 // Contains all app configurations
|   |-- assets.js          // Assets configuration file
|   |-- config.js          // Application configuration file which stores all passwords etc. (gitignore)
|   |-- manifest.js        // App manifest file listing all plugins and load order
|   |-- meta.js            // App metadata file
|   
| -- db
|   |-- data               // Mysql Data directory
|   |   |-- <mysql-dir>    // Mysql Data files
|   |-- init               // Mysql Initialisation Scripts
|   |   |-- init.sql       // Table definitions
|   |   |-- insert.sql     // Initial data
|
|-- lib                    // Core application lib/plugins 
|-- tasks                  // Contains all gulp tasks 
|
|-- gulpfile.js            // Gulp entry file 
|-- index.js               // Application starting point
|-- package.js             // Package configuration file
|-- server.js              // Main server file
|-- Dockerfile             // Dockerfile containing the build information
|-- docker-compose.yml     // Docker-Compose file containing the web and db services information

Code Style

We're using semi-colons and comma-last. No rhyme or reason; and some of the hapi code convention guidelines. All client-side js code is also in commonJS pattern packs using webpack. Check out .editorconfig, .jsbeautifyrc, .eslintrc for additional code conventions used.

Dockerised Startup

Please execute the following command at the root of the project to boot the database and web-app containers

Docker-Compose up

Entity Relationship Diagram

ERD

Contributors

Arpit Khandelwal Anurag Vikram Singh

About

Crash viewer web application for displaying the crashes reported by rn-crash-reporter components from React Native mobile applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published