Our Project is a Web Application designed and built for a Business class at Oregon State University (OSU). The application allows OSU students to track basic business data for their company that they run for a class assignment. Our application provides a platform for the student companies to track their data and view it in a concise dashboard. Our application also allows instructors to audit and grade their student companies. The general data our users store are transactions, expenses and deposits.
Our project partner, Omar Trinidad, came to our team with a request to build an application for their student led companies to keep track of their business data. Their current solution was a cluster of google sheets with a lot of fancy scripting.
Our application is build in 3 main pieces: server, database, front-end. Our server is implemented using NodeJs and ExpressJs. It provides the front-end application with an authenticated line of communication with the database. Our front-end implementation used the wonderful create-react-app, which is a reactjs tool-chain that creates a single page application. Our database is a PostgreSQL database.
The user interface of our application is split into two main components.
The instructor pages give instructors the tools to manage companies and users. They also give instructors the ability to view and export company data for any company in the database, this makes grading student companies easier.
The student pages give students the ability to easily check their company financial status as well as add transaction/expense data to their company.
One of the biggest complications we ran into was figuring out how to tackle authentication. Our project partner requested that we try to use the OSU Network Identity provider (ONID) for students to be able to easily sign-in without having to create another account. This proved to take a lot of time to figure out. Our application now successfully authenticates through the ONID using the Security Assertion Markup Language (SAML) standard.