/Flexmoney-app

A Yoga application for Flexmoney Internship Task

Primary LanguageJavaScript

Flexmoney SDE Internship Assignment

This repo contains code for internship task @flexmoney 2023 Assignment

Image of hero page

Problem Statement

Assume that you are the CTO of an outsourcing firm which has been chosen to build an admission form for the Yoga Classes which happen every month. Requirements for the admission form are:

  • Only people within the age limit of 18-65 can enroll for the monthly classes and they will be paying the fees on a month on month basis. I.e. an individual will have to pay the fees every month and he can pay it any time of the month.
  • They can enroll any day but they will have to pay for the entire month. The monthly fee is 500/- Rs INR.
  • There are a total of 4 batches a day namely 6-7AM, 7-8AM, 8-9AM and 5-6PM. The participants can choose any batch in a month and can move to any other batch next month. I.e. participants can shift from one batch to another in different months but in the same month they need to be in the same batch.

Links

Frontend hosted at: https://pursottam-yoga-app.netlify.app/

Note: API Integration with frontend is completed but due to some issue with the backend server it is not working properly.

Backend hosted at: https://flexmoney-app-production.up.railway.app/

Alt text

Solution Approach

  1. The initial step involves creating a form with an aesthetically pleasing UI for uploading user details.

  2. For the backend, it is crucial to design an architecture to store user details. The focus is on defining the structure and components of the backend architecture.

  3. To establish a seamless connection between the frontend and backend, an Entity-Relationship diagram needs to be created. This diagram aids in comprehending the relationships between entities and serves as a guide for developing APIs to facilitate communication between the frontend and backend.

Demo Video

https://youtu.be/VL1CYSIhGP8?si=kMNYL7MBOkcsC-47

Technologies Used

  • ReactJS
  • NodeJS
  • ExpressJS
  • Mysql
  • Material UI

Installation

  • Clone the repository
git clone "https://github.com/Pursottam6003/Flexmoney-app"
  • Install the dependencies
npm install
  • Run the frontend server and backend server
npm start

Archietecture

Alt text

Structure

Structure is basically a 2 tier achiectecture

  • Client : contains frontend code made using React.js and Material Ui
  • Server : contains backend APIs made using Node.js and Mysql database

Entity Relationship Diagram

Database Name : yogaDatabase

Here we have three tables in our server users profile payments Here they are explained using the diagram

Alt text

Screenshorts

To check the form validation here i have done the following checks

  • Form validations Alt text

  • Login and Sign Up form Alt text

Alt text

  • After Login Alt text

  • Frequently asked questions Alt text

  • Enrollment Form Alt text

  • Updation Form to update from one batch to another updation form

  • Payment Form Alt text

  • Payment Reciept Alt text

Author