I have an Angular2 and Node.js project I have been working on for 4 months. I have a large portion of the project done but need some help perfecting it. The application provides a front end for the users to view information about the company which is done. The users have the ability to login using [url removed, login to view]'s API. Once a user is logged in a new user is created in our database. At this point when the user is created they must fill out the profile form on the profile page. This data is used to finish creating the user object. At that point a new Customer Profile is created at [url removed, login to view] to handle future payments and payment profiles. From there before a user can turn on a service they must add a payment method. On the payment method page there is a form allowing them to add a new credit card. Each time a user adds a new credit card a payment profile is created at [url removed, login to view] which is attatched to the users customer profile. The ID that comes in the response when created is stored into a credit card table in our database. This way we can retrieve the payment method when we need to capture a transaction. I have built all of this up to that point but I need someone to help me perfect it. There is 2 more modules that need to be built into this app but I want to perfect the work that has been done before adding anything else to the mix.
The project is on Github and I can take as much time as needed walking someone through the project till they fully understand it. I am using Express and Postgres in this project.
The exact work I need is for someone to help me with this list,
1. Force user to not leave profile page till they fill it out. If they logout make sure they are redirected to profile form when they log back in.
2. Once a user has filled out the profile form and the data gets entered into the database update the user object. Currently the user object is created when the user logs in. So if a user updated the profile form the new data we have on the user is not in the user object till they logout and log back in.
3. Retrieve the payment methods to display they on the user's payment method page. The [url removed, login to view] SDK has been implemented into the application and the code is there. The logic needs to be set in place to make sure they cards are retrieved and displayed correctly.
4. Fix a CSS error which hides the user's profile image on certain screen widths. This fix must be responsive and work on all browsers.
5. Updated the current REGEX and form validation to a higher quality.
6. Add error checking and validation to the functions which pass data to the server or back to the client.