/Assignment

This project is asssignment for Flexmoney recruitment process

Primary LanguageJavaScript

Tech Stack

-->Language and Framework: Python and Django

-->Database: pgAdmin 4

-->SQL: postgresql

-->Frontend Languages: HTML, CSS, Javascript

Project Architecture

Screenshot 2023-12-19 192244

Designing Database and ER Diagram:

There are 4 tables: User, Batch, Payment, Admission. The basic information is saved in user table along with batch ids. 4 batches are given. Payment details for each user are stored in Payment Table. If the payment is successful the admission of the user is confirmed and stored in the admission tables.

ER Diagram:

er_dig

Tables are as follows in postgres:

user_table2

batch_table2

payment_table2

admission_table2

2. Creating models:

Django models are created for the above mentioned tables and validation errors are raised.

3. Creating API:

FormSerializer facilitates data retrieval from complex fields, transforming it into JSON format, then storing it in the original database structure. Views manage data processing, primarily defining the POST request for seamless functionality.

4. API Testing with Postman

postman

5. Frontend form

frontend

frontend1

Form2

6. Response on Frontend

On adding valid credentials maintaing all criteria

Successful_form

If age is not in the critera

Screenshot (118)

If conatct is not in the criteria

Screenshot (119)

If the entry already exist

Screenshot (120)

If updation of batch is successful for registered user

Succ_Updation

Successful payment

Screenshot (121)

6. User Data is successfully stored in database:

adm_table1

batch_table1

payment_table1

user_table1

Assumption:

Data is currently added upon registration without payment validation. Enhancing this, user addition to the database will occur solely upon successful payment, ensuring a more robust process

Could Not deploy the backend I was facing issues in deploying the backend (I will resolve the issue but due to time limit will have to submit as it is) image

Frontend deployed link I deployed frontend using vercel link --> https://assignment-seven-flame.vercel.app/