The entire repo is divided into these three directories
- Frontend: This directory hosts the React code for the Web UI application.
- Backend: This directory hosts the Python/Flask code for the Server
- Tests: This directory hosts all the UI & API test cases written in cypress
- Assets: This directory hosts all the images & media files used on the UI
- Components: This directory hosts all the React Components used in the project 2.1. Charts: This directory inside the Components holds all the React Components for the Dashboard/Insights page
- Styles: This directory holds all the css files that are used to design each web page
- Utils: This directory holds all the util code. For example, 4.1. axiosAPIUtils contains reusable functions to send GET requests to the python server, chartsUtil 4.2. chartsUtils contains reusable functions to get data to be displayed in Charts.
- configs: This directory holds the code to integrate firebase with the Flask app
- helpers: This directory holds all the helper functions. eg. youtube_api_helper which holds functions to call the YouTubeAPI, parse the data to send it to the client
- tests: This directory holds unit tests for the Flask code
- app.py is the entry point for the backend server
- e2e: This directory holds all the cypress test cases 1.1. api-tests: This directory holds all the test cases to test API endpoints which are mentioned in (app.py) 1.2. ui-tests: This directory holds all the test cases to test React Components (Web Pages) which are mentioned in the (Components directory)