Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
5a15093
GitHub Classroom Feedback
github-classroom[bot] Sep 17, 2024
d45a333
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 17, 2024
59ef488
Create team.md
Francisxx Sep 18, 2024
bb0aa3e
Update team.md
renzl00 Sep 18, 2024
a7ac7d9
Added a paragraph about myself to team.md in lab1 branch
selina-joy Sep 18, 2024
e8968a4
updated team.md
Sep 19, 2024
b0c3cda
Update team.md
timsbb Sep 19, 2024
a10547e
Update team.md
timsbb Sep 19, 2024
4eb8ac5
Update team.md
Graaaaaaaaant Sep 20, 2024
e8cac77
Update team.md
Graaaaaaaaant Sep 20, 2024
67fc200
Initial Django project setup
Francisxx Sep 21, 2024
7318c59
Update Readme.md
Francisxx Sep 26, 2024
edeb682
Update team.md
Francisxx Sep 26, 2024
34d5162
Update Readme.md
Francisxx Sep 27, 2024
ee1aaf2
Update Readme.md
Francisxx Sep 27, 2024
6706e70
Update Readme.md
Francisxx Sep 27, 2024
a2bf200
Add documents of iteration 0
Francisxx Sep 27, 2024
3dfd3a6
Create SQL
Francisxx Oct 4, 2024
cec26dc
Updated codes of iteration 1
Francisxx Oct 12, 2024
36b33e5
Update Readme.md
Graaaaaaaaant Oct 17, 2024
82d7bda
Update Readme.md
Graaaaaaaaant Oct 17, 2024
62a413a
Update Readme.md
Graaaaaaaaant Oct 17, 2024
88778ab
Update Readme.md
Graaaaaaaaant Oct 17, 2024
78a4490
Update Proj3_progressreport.xlsx
renzl00 Oct 17, 2024
51d8ee5
Update Readme.md
Graaaaaaaaant Oct 17, 2024
3980b76
Add files via upload
Graaaaaaaaant Oct 17, 2024
d2cb818
Update README.md
Graaaaaaaaant Oct 17, 2024
51f4663
Update README.md
Graaaaaaaaant Oct 17, 2024
9abfc99
Update README.md
Graaaaaaaaant Oct 17, 2024
90169c9
Update README.md
Graaaaaaaaant Oct 17, 2024
1a9db38
Update README.md
Graaaaaaaaant Oct 17, 2024
265e1b9
Update README.md
Graaaaaaaaant Oct 17, 2024
00e2f9b
Update README.md
Graaaaaaaaant Oct 17, 2024
f71f805
Update README.md
Graaaaaaaaant Oct 17, 2024
abc067f
Update Readme.md
Graaaaaaaaant Oct 17, 2024
28b5ea4
Add files via upload
Graaaaaaaaant Oct 17, 2024
98d6adb
Update Readme.md
Graaaaaaaaant Oct 17, 2024
77945df
Initial commit with Docker setup and database SQL scripts
selina-joy Oct 18, 2024
04570b4
Clean version of team3_docker for iteration 1
selina-joy Oct 18, 2024
fd4333e
Replaced code folder with updated content
selina-joy Oct 18, 2024
bb4ec89
Initial commit
github-classroom[bot] Aug 30, 2024
22888d8
GitHub Classroom Feedback
github-classroom[bot] Sep 17, 2024
f3674a8
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 17, 2024
4dc2ce7
Create team.md
Francisxx Sep 18, 2024
9a36607
Update team.md
renzl00 Sep 18, 2024
7de34de
Added a paragraph about myself to team.md in lab1 branch
selina-joy Sep 18, 2024
944ea27
updated team.md
Sep 19, 2024
272866b
Update team.md
timsbb Sep 19, 2024
44cb56d
Update team.md
timsbb Sep 19, 2024
96c617b
Update team.md
Graaaaaaaaant Sep 20, 2024
8799c7d
Update team.md
Graaaaaaaaant Sep 20, 2024
d87aa62
Initial Django project setup
Francisxx Sep 21, 2024
a651eae
Update Readme.md
Francisxx Sep 26, 2024
ef9f086
Update team.md
Francisxx Sep 26, 2024
052345c
Update Readme.md
Francisxx Sep 27, 2024
134a67b
Update Readme.md
Francisxx Sep 27, 2024
c5d4e83
Update Readme.md
Francisxx Sep 27, 2024
7e2b162
Add documents of iteration 0
Francisxx Sep 27, 2024
239746e
Create SQL
Francisxx Oct 4, 2024
86365cf
Updated codes of iteration 1
Francisxx Oct 12, 2024
3438616
Update Readme.md
Graaaaaaaaant Oct 17, 2024
fdea0c4
Update Readme.md
Graaaaaaaaant Oct 17, 2024
082c5c8
Update Readme.md
Graaaaaaaaant Oct 17, 2024
efe200d
Update Readme.md
Graaaaaaaaant Oct 17, 2024
f795ea4
Update Proj3_progressreport.xlsx
renzl00 Oct 17, 2024
3883550
Update Readme.md
Graaaaaaaaant Oct 17, 2024
fe1e28b
Add files via upload
Graaaaaaaaant Oct 17, 2024
129795f
Update README.md
Graaaaaaaaant Oct 17, 2024
f2a9104
Update README.md
Graaaaaaaaant Oct 17, 2024
8c437ae
Update README.md
Graaaaaaaaant Oct 17, 2024
e801096
Update README.md
Graaaaaaaaant Oct 17, 2024
f2c0496
Update README.md
Graaaaaaaaant Oct 17, 2024
6ee494b
Update README.md
Graaaaaaaaant Oct 17, 2024
cb140a5
Update README.md
Graaaaaaaaant Oct 17, 2024
07a894e
Update README.md
Graaaaaaaaant Oct 17, 2024
6871615
Update Readme.md
Graaaaaaaaant Oct 17, 2024
e2d09d4
Add files via upload
Graaaaaaaaant Oct 17, 2024
bf7aba6
Update Readme.md
Graaaaaaaaant Oct 17, 2024
e38fd8f
Replaced code folder with updated content
selina-joy Oct 18, 2024
207fbbb
Merge branch 'iter1/integration'
selina-joy Oct 18, 2024
d82d76b
Clean file structure and ready for main push
selina-joy Oct 18, 2024
3772696
Fix Docker CMD path and other adjustments for proper MySQL connection
selina-joy Oct 18, 2024
0c2bf38
Fixed issue with null error and updated Docker CMD path
selina-joy Oct 18, 2024
34e002f
Uploaded Iteration 1 documents
selina-joy Oct 18, 2024
537725c
Uploaded Iteration 1 documents
selina-joy Oct 18, 2024
2b1a1f4
Uploaded Iteration 1 documents
selina-joy Oct 18, 2024
a1c0a26
Uploaded Iteration 1 documents
selina-joy Oct 18, 2024
e1b48a6
Added backup-iter0 folder for backup purposes
selina-joy Oct 22, 2024
db4860e
Merge branch 'iter1/integration'
selina-joy Oct 22, 2024
245ab83
Complete dashboar updates to support front and back-end integration.
selina-joy Nov 1, 2024
34586ce
Commit changes after removing nested repository
selina-joy Nov 1, 2024
364555b
Commit changes after removing nested repository
selina-joy Nov 1, 2024
1100705
Commit changes including adding users and sentiment file folders and …
selina-joy Nov 1, 2024
ad8fbcc
Fix Docker setup by updating wait-for-it.sh path and configuration
selina-joy Nov 7, 2024
3c7d6e2
Add CI workflow with Docker setup for auto-run in feature/dashboard
selina-joy Nov 7, 2024
61ea2df
Add CI workflow with Docker setup for auto-run in feature/dashboard
selina-joy Nov 7, 2024
b077a8b
Create CI-test.yml
selina-joy Nov 7, 2024
3360f36
Merge pull request #13 from BUMETCS673/selina-joy-patch-2
selina-joy Nov 7, 2024
b315aae
Update CI.yml
selina-joy Nov 7, 2024
37fb6b0
Implement dashboard feature with Cypress tests
selina-joy Nov 8, 2024
0783680
Delete CI.yml
selina-joy Nov 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Empty file added .github/.keep
Empty file.
40 changes: 40 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI Workflow

on:
push:
branches:
- feature/dashboard
pull_request:
branches:
- feature/dashboard

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build Docker containers
env:
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: |
docker-compose -f docker-compose.yml build

- name: Start Docker containers
env:
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: |
docker-compose -f docker-compose.yml up -d
26 changes: 24 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,24 @@
# GroupProjectTemplate
Please make sure to modify this readme file as well as the "about" property of the project!
# IMDB Movie Data Analysis and Visualization Platform
**Overview
**
This project focuses on developing a web-based platform for analyzing and visualizing IMDB movie data. The motivation behind this project is the need to process and present large datasets in a user-friendly way, making it easier to identify trends and derive insights. The film industry generates vast amounts of data, such as movie releases, reviews, ratings, and production details. This platform aims to provide an organized solution to visualize and explore this information effectively.

The platform allows users, including movie enthusiasts, data analysts, film critics, and researchers, to explore IMDB movie data through interactive visualizations. Core functionalities include visualizing movie release trends by year, genre, and production country, performing sentiment analysis on user reviews, and generating word clouds based on commonly found terms in reviews.

The project is built with a technology stack featuring Python and Django for backend development, managing server-side logic and database interactions. The frontend will be developed with HTML, CSS, and JavaScript, while ECharts will be used to create dynamic visualizations. The MySQL database will store the IMDB movie data. Git will be used for version control, and GitHub will manage collaboration. Additional tools, such as Pandas for data processing and pie charts for specific visualizations, will support the platform's functionality.

**Features
**
Visualize Movie Trends: Explore movie release trends by year, genre, and country of production.
Sentiment Analysis: Analyze user reviews to extract sentiments and display them through visualizations.
Word Cloud Generation: View common terms from user reviews to understand the most talked-about topics.
Interactive Data Visualizations: Use ECharts to present data in an engaging and interactive format, such as pie charts and bar graphs.

**Technology Stack
**
Backend: Python with Django Framework
Frontend: HTML, CSS, JavaScript
Data Visualizations: ECharts
Database: MySQL
Data Processing: Pandas
Version Control: Git, hosted on GitHub
15 changes: 15 additions & 0 deletions code/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Handle line endings automatically for text files
* text=auto

# Explicitly declare files that should always have LF line endings
*.sh text eol=lf
*.yml text eol=lf
*.py text eol=lf

# Explicitly declare files that should always have CRLF line endings (Windows files)
*.bat text eol=crlf

# Ignore binary files
*.png binary
*.jpg binary
*.gif binary
162 changes: 162 additions & 0 deletions code/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
42 changes: 42 additions & 0 deletions code/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Use an official Python runtime as a parent image
FROM python:3.8-slim

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

# Set the working directory in the container
WORKDIR /app

# Install system dependencies for MySQL client and other tools
RUN apt-get update && apt-get install -y \
gcc \
libmariadb-dev-compat \
libmariadb-dev \
netcat-openbsd \
&& rm -rf /var/lib/apt/lists/*

# Copy the requirements.txt file into the container
COPY requirements.txt /app/

# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt


COPY wait-for-it.sh /app/wait-for-it.sh

# Make it executable
RUN chmod +x /app/wait-for-it.sh

# Copy the rest of your project code into the container
COPY . /app/

# Expose the port that the app will run on
EXPOSE 8000

WORKDIR /app/my_project
# Wait for MySQL to be available, then start the Django development server
CMD ["sh", "-c", "until nc -z $DB_HOST $DB_PORT; do echo 'Waiting for MySQL...'; sleep 3; done; python /app/my_project/manage.py runserver 0.0.0.0:8000"]

# Add the my_project directory to PYTHONPATH
ENV PYTHONPATH="/app/my_project:${PYTHONPATH}"
1 change: 0 additions & 1 deletion code/Readme.md

This file was deleted.

Loading