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
data
dumps
- 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).