3. Implementation
3.1 Project Structure
client- The entire frontend code.assets- The project's assets (fonts, Icons and images).build- The directory of the compiled frontend code.src- The Javascript source code of the frontend.library- Classes for the reducers and resources.model- The reducers for the app.views- The React components for the application.* `app` - The "smart" components for the app. * `pages` - The static pages within the site. * `parser` - The "smart" components for the parser. * `templates` - The templates used by both the app and parser. * `ui` - The "dumb" components for every aspect of the app.
style- The SASS code for the app.app- The styling for "smart" app components.common- The common styles for all of the app. Contains theme information also.pages- The styling for the static pages.ui- The styling for all React components.
test- The tests for the frontend.
server- The Python source code for the server.api- The Flask API Blueprints (endpoints).library- Classes for the SQL Alchemy models and utility code.migrations- Contains the code for database migrations.data- Code to insert scraped data into the database.versions- The database migrations (versions).
model- The SQL Alchemy models.test- The API tests.
Non-code directories
datadumps- The database dumps as backups.papers- Some example test papers.
deploy- The Dockerfiles for deployment.design- The user interface design of the application (.sketch).report- This report.research- Some research (incl. IPython notebooks and database visualisations diagrams).