Thank you for reviewing my final, full-stack capstone project as part of my full-time studies in Nashville Software School's Cohort 80. The Signal Chain application was developed using C# .Net, React.js, React Bootstrap for styling, and custom CSS for enhanced styling. Bonus: I added Vite unit tests to cover the 12 main React components.
I have a small home studio. If you asked me to provide an inventory list of the instruments and gear I use, it would be a struggle. And when my insurance provider needs me to catalogue everything for my policy, I'll experience unnecessary stress. Others may be in a similar predicament for book and music collections, physical retail stock, or even antiques.
Signal Chain solves this problem by providing a modern web application to store, update, create, or delete items in my studio inventory. I can view and update an item's details, see a list of songs that use that item, connect additional songs, and add (or remove) more gear items.
At the same time, Signal Chain connects songs produced to the gear items that were used on each song. I can also see the full list of songs, add or remove songs, and view and update a song's details.
Data Requirements
- You must have an ERD for your project.
- You must have a user-related data scheme. This means that different people can authenticate with your application, and the resources that are created must be assigned to individual users.
- You must have at least one one -> many relationship in your ERD.
- You must have at least one many -> many relationship in your ERD.
- You are required to use the persistent storage tool that you were taught (SQL Server, SQLite, etc.).
Application Design Requirements
Client
- You must support CRUD in your application. Create data, Read data, Update data, Delete data
- You are required to use React.
- You must have a form that allows a user to create a new resource.
- Your form must include
<select>element, radio button group, or checkbox group that allows a user to choose a related resource. - You must show your proficiency with writing modular code that follows the the Single Responsibility Principle.
- Your application must support multiple client routes to show different views to the user, and the user must be able to navigate to each route/view.
- You must be able to implement a flexible layout for your UI by either (a) authoring your own CSS using Flexbox, or (b) using a 3rd party framework like Bootstrap.
- All copy for your application must be legible, so pay attention to colors, margins, padding, and font sizes.
Server
- Customer must be able to delete their own data, and be prevented from deleting other customers' data.
- Customer must be able to edit their own data, and be prevented from editing other customers' data.
- You are required to use the major framework that you learned during the course (e.g. ASP.NET).
- You must implement the authentication scheme you learned during the course (Identity Framework, etc...).