Shoonya Code Structure - AI4Bharat/Shoonya GitHub Wiki

Shoonya-Backend # DRF-based (Django REST Framework) API server for Shoonya Platform

  ├───.github
      ├───workflows
           |   linters.yml
           |   tests.yml
      |  dependabot.yaml
      |  pull_request_template.md 


├───backend
     ├───dataset                            # APIs for Shoonya Dataset Management 
        ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───deploy                            # Requirements to be installed for deploying and running Shoonya Backend
      |  requirements-dev.txt
      |  requirements.txt
     ├───filters
      |  _init_.py
      |  filter.py
     ├───functions                         # APIs for Shoonya Functions Management  
         ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───organizations                  # APIs for Shoonya Organization Management 
         ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───projects                            # APIs for Shoonya Project Management 
         ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───shoonya_backend           # URLS and other settings for Shoonya Backend 
      |  _init_.py
      |  asgi.py  
      |  mixins.py  
      |  pagination.py 
      |  settings.py
      |  urls.py
      |  wsgi.py 
     ├───tasks                               # APIs for Shoonya Task Management 
         ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───users                              # APIs for Shoonya User Management 
         ├───migrations
      |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     ├───utils                               # Utils for Shoonya Backend 
        ├───monolingual
          |  _init_.py
          |  sentence_splitter.py         # Util for splitting a block of text to sentences 
      |  _init_.py
     ├───workspaces                   # APIs for Shoonya Workspace Management 
        ├───migrations
         |  _init_.py
      |  admin.py  
      |  apps.py  
      |  models.py 
      |  serializers.py
      |  tests.py 
      |  urls.py
      |  views.py 
     |  Dockerfile
     |  entrypoint.sh
     |  manage.py
├───docs
     ├───.keep
|   .env.example
|   .flake8
|   .gitignore
|   .pylintrc
|   README.md                                # Steps for installing Shoonya Backend 
|   docker-compose.yml

Shoonya-Frontend # Frontend for Shoonya Platform

├───.github
       ├───workflows
            |   azure-static-web-apps-thankful-bush-035aa9d0f.yml
            |   eslint.yml
     |  dependabot.yaml
├───frontend
    ├───public  
        |  ai4bharat.png
        |  favicon.ico
        |  index.html
        |  manifest.json
        |  robots.txt
     ├───src
          ├───api                                              # APIs
            |  CollectionDataAPI.js
            |  CreateProjectAPI.js
            |  LSFAPI.js
            |  OrganizationAPI.js
            |  ProjectAPI.js
            |  ProjectDashboardAPI.js
            |  UserAPI.js
            |  WorkspaceAPI.js
          ├───components                               # Layout and Components of the page 
           ├───Layout
                |  DefinedLayout.jsx
                |  Footer.jsx
                |  Navbar.jsx
                 |  AddCollectionData.jsx
                 |  ModalComponent.jsx
          ├───context # User Context
             ├───User
                         |  UserContext.js
                  |  UserReducer.js
                         |  UserState.js
                         |  type.js
          ├───pages
                ├───Auth                                    # User Signup and Logging in 
                  |  ConfirmForgetPassword.jsx
                  |  ForgetPassword.jsx
                  |  Login.jsx
                  |  SignUp.jsx
                ├───CreateProject                       # Project Creation
                  |  CreateCollectionProject.jsx
                  |  CreateProject.jsx
                ├───Label-Studio                         # Label Studio Frontend
                                          |  LSF.jsx
                              ├───Landing # Landing Page of Shoonya
                                          |  Landing.jsx
                              ├───Organization                        # Organization Page
                                   |  Organization.jsx
                                          |  TableColumns.js
                              ├───Profile                                   # User Profile Page
                                          |  UserProfile.jsx
                              ├───Projects                                # Project Dashboard, settings and the list of tasks 
                                          |  ProjectDashboard.jsx
                                          |  ProjectSettings.jsx
                                          |  TaskTableContent.jsx
                              ├───Workspaces                           # Workspaces Page 
                                          |  TableColumns.js
                                          |  Workspace.jsx
                    ├───utils
                              ├───auth
                                          |  index.js
                                          |  apiData.js
                                          |  apiInstance.js
           |  App.css
           |  App.jsx
           |  App.test.js
           |  index.css
           |  index.js
           |  logo.svg
           |  reportWebVitals.js
           |  routes.js
           |  setupTests.js
|  .eslintrc.json
|  .gitignore
|  Dockerfile
|  README.md                                                                  # Steps for installing Shoonya Frontend
|  package.json