Aug 2019 - Present
Technologies Used: C#, ASP.NET MVC, .NET Core, Entity Framework, Identity Framework, ReactJS, WebAPI, JSON Web Token Authentication, CSS, Bootstrap, Reactstrap, SQLServer, Twilio SMS API, Visual Studio, Visual Studio Code, Git, GitHub
The idea of this project was to create a functional retail rewards/loyalty program. This project consists of two independent applications: one to serve as the admin portal and the other serves as the customer portal. The purpose of this project is to provide a membership program for customers of a retail business to sign up for and receive reward points for purchases made in the store.
The project structure consists of a class library which contains the project's shared models and the database context to allow Entity Framework to create the local SQLServer database. This allows both applications to run independently while referencing the class library to establish a connection to the shared database.
The admin application was built using C# ASP.NET MVC. The purpose of this application is to allow business employees to view customer information, create/edit/delete rewards in the system, register new employee accounts, and create text message marketing campaigns. The text message marketing feature was achieved using the Twilio SMS API. This feature allows for employees to help combat slow business days by sending a text message promotion to the customer base from the application. All of user data, including employees, of the rewards program is secured using the Identity Framework.
The customer portal was created using React and is intended to run on a tablet. I created a WebAPI for the backend in order to communicate with the shared database. In order to secure the API, I implemented JSON Web Token Authentication. The main purpose of the customer portal is to allow customers to register/login to the rewards program, view their current point count and available rewards, choose to redeem rewards for discounts, and adding points.