Brix is an app to help Project Engineers in the Contractor and Construction Management field. It aims to seamlessly allow users to track procurement for materials for multiple projects. A User can create an account and add multiple projects. Materials have full CRUD and after specifying the date of material installation and the lead time, the app will provide the date the user needs to place the order before it risks being delayed.
A User has many projects. A project has many materials. A project has many divisions, through materials.
Users -< Projects -< Materials >- Divisions
Screen.Recording.2023-02-14.at.11.38.59.mov
Front End
- React Framework
- CSS styled website
- Semantic UI styled components
- Client-side routing via React BrowserRouter
Back End
- Ruby on Rails
- Model-View-Controller Architectural Development Pattern
- RESTful API utilizing ActiveRecord and Active Model Serializers
- User Authentication and authorization
- PostgreSQL relational database
- User password encryption with BCryopt Gem
From within root directory:
- npm install semantic-ui --prefix client
- npm install --save react-browser-router
After cloning repo, run front end and server to test functionality.
- rails s (runs the backend on http://localhost:3000)
- npm start --prefix client (runs the frontend on http://localhost:4000)
Create an account with Brix. Proceed to add projects and provide required details.
- Add materials related to each project
- Edit materials details as needed. If lead time changes or if date required changes, date-by will be updated via controller
- Go to the Projects section on side bar and click on materials to see materials filtered by project
- Go to the Materials section on side bar to see a list of all materials
- Within Materials, refer to the nested nav bar to see materials filtered by status or if they are critical
- Delete projects. Note this will delete all materials related to the project.
A diagram showing React component tree.
A diagram showing database set up and CRDU actions available to each.