Webapps/
-
Data/
- stock_market_data.csv
- stock_market_data.json
-
env/
- Include/
- Lib/
- Scripts/
- pyvenv.cfg
-
Janata/
- asgi.py
- settings.py
- urls.py
- wsgi.py
- static/
- css/
- styles.css
- js/
- main.js
- css/
- Table_Apps/
- management/
- commands/
- load_data.py
- commands/
- migrations/
- init.py
- admin.py
- apps.py
- models.py
- tests.py
- views.py
- management/
- templates/
- graphs.html
- table_apps.html
- table.html
- db.sqlite3
- manage.py
This Django learning project involves building a basic web application with data visualization and CRUD functionality. The project is divided into three main steps:
-
Initial Web App with JSON Data:
- Creation of a basic web app using Python and Django.
- Utilization of JSON data to generate a table visualization on the home page.
-
Integration with SQL Server and CRUD Functionality:
- Loading the data into an SQL server for improved data management.
- Implementation of CRUD operations for the table, allowing users to edit rows dynamically.
- Creation of separate branches in the Git repository for each model version:
jsonModel
andsqlModel
.
-
Enhanced Data Visualization:
- Addition of a line chart above the table visualization.
- Plotting the "close" column on the y-axis and "sorted date" on the x-axis in the line chart.
- Incorporation of the "volume" column as a bar chart on a secondary y-axis.
- Accommodate the line and bar chart together by making it a multi axis chart.
- Implementation of a dropdown feature to switch between different "trade_code" columns, dynamically updating the all charts.
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/SalehAhmedShafin/Stock-Market-Data-Visualization-Django-Apps
-
Navigate to the project directory:
cd Janata
-
Apply migrations to set up the database:
python manage.py makemigrations python manage.py migrate
-
Run the development server:
python manage.py runserver
-
Open your browser and go to http://localhost:8000/ to view the web app.
- Adapting the codebase to switch between JSON and SQL models posed challenges.
- Ensuring data consistency and integrity during the migration process.
- Integrating frontend and backend components to support editable rows in the table.
- Handling user input and updating the SQL database accordingly.
- Implementing a multi-axis chart with dynamic data based on user selections.
- Coordinating the line and bar charts for a cohesive visualization.
- After integrating Chart.js into the project, the chart is not displaying as expected on the webpage.
- Gained proficiency in using Django for web application development.
- Learned the intricacies of integrating backend functionality with frontend interfaces.
- Acquired skills in implementing interactive charts using Chart.js.
- Explored the nuances of creating multi-axis charts for diverse data representation.
- Applied principles of maintaining data integrity and consistency in a dynamic web environment.
- Collaborated on a project involving frontend and backend development, enhancing coordination and communication skills.
This project provided valuable insights into full-stack web development, data visualization, and database management, enhancing skills in Python, Django, Chart.js, and version control.