{"id":18106714,"url":"https://github.com/8bituhm/compscihi","last_synced_at":"2026-02-14T04:32:18.721Z","repository":{"id":256331580,"uuid":"854953954","full_name":"8bitUHM/compscihi","owner":"8bitUHM","description":"CompSciHi official website.","archived":false,"fork":false,"pushed_at":"2025-01-17T00:36:52.000Z","size":18738,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T01:27:50.918Z","etag":null,"topics":["django","firebase","postgresql","react","tailwindcss","typescript","webpack"],"latest_commit_sha":null,"homepage":"https://compscihi.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/8bitUHM.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-10T03:41:25.000Z","updated_at":"2025-01-17T00:36:47.000Z","dependencies_parsed_at":"2024-12-19T14:47:59.575Z","dependency_job_id":"9e4e57f5-a781-46f0-a534-b9ac72d3a97a","html_url":"https://github.com/8bitUHM/compscihi","commit_stats":null,"previous_names":["8bituhm/compscihi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bitUHM%2Fcompscihi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bitUHM%2Fcompscihi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bitUHM%2Fcompscihi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bitUHM%2Fcompscihi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/8bitUHM","download_url":"https://codeload.github.com/8bitUHM/compscihi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238470692,"owners_count":19477891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","firebase","postgresql","react","tailwindcss","typescript","webpack"],"created_at":"2024-10-31T23:07:49.459Z","updated_at":"2025-10-27T08:31:42.217Z","avatar_url":"https://github.com/8bitUHM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 8bitUHM CompSciHi\n\n1. [Project Structure](#project-structure)\n2. [Getting the app running](#getting-the-app-running)\n3. [Development](#development)\n\n## Project Structure\n\nThe project is organized into several components:\n\n- **compscihi**: The main project directory.\n  - **.github/**: GitHub actions CI/CD for deployment automations\n  - **api/**: API app\n    - **migrations/**: Database migration files.\n    - **templates/**: HTML templates.\n    - **admin.py**: Admin interface configuration.\n    - **forms.py**: HTML forms. Forms define how data is input and validated by the user.\n    - **models.py**: Data models. Models define the structure of the database and interact with data.\n    - **serializers.py**: Serializers for converting complex data types, such as querysets and model instances, to native Python datatypes that can then be easily rendered into JSON, XML, or other content types.\n    - **tests.py**: Unit tests.\n    - **urls.py**: URL configuration for the portal app, mapping URLs to views.\n    - **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.\n  - **core/**: Main or 'host' app\n    - **settings.py**: Configuration settings for the project, including database settings, middleware, installed apps, and other project-specific configurations. Models are defined here.\n    - **urls.py**: URL configuration for the project, mapping URLs to views.\n  - **db_file_storage/**: File storage systems that allows us to store files by raw bytes and mimetype in database.\n  - **portal/**: Portal app\n    - **migrations/**: Database migration files.\n    - **static/**: Static files (CSS, JavaScript, images).\n    - **templates/**: HTML templates.\n    - **admin.py**: Admin interface configuration.\n    - **forms.py**: HTML forms. Forms define how data is input and validated by the user.\n    - **models.py**: Data models. Models define the structure of the database and interact with data.\n    - **serializers.py**: Serializers for converting complex data types, such as querysets and model instances, to native Python datatypes that can then be easily rendered into JSON, XML, or other content types.\n    - **tests.py**: Unit tests.\n    - **urls.py**: URL configuration for the portal app, mapping URLs to views.\n    - **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.\n  - **website/**: Website app\n    - **frontend/**: Database migration files.\n      - **src/**: Frontend source files\n        - **assets/**: Frontend static assets\n        - **compiled-components/**: Frontend ompiled components -- own components on Django templates\n        - **components/**: Frontend components -- not separate components on Django templates\n        - **firebase/**: Firebase config\n        - **pages/**: Frontend pages\n        - **styles/**: Tailwind styles config files\n        - **types/**: Types for image imports\n        - **util/**: Utility function files\n      - **webpack/**: Webpack config files\n    - **migrations/**: Database migration files.\n    - **static/**: Static files (CSS, JavaScript, images).\n    - **templates/**: HTML templates.\n    - **admin.py**: Admin interface configuration.\n    - **models.py**: Data models. Models define the structure of the database and interact with data.\n    - **tests.py**: Unit tests.\n    - **urls.py**: URL configuration for the portal app, mapping URLs to views.\n    - **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.\n  - **manage.py**: Django's command-line utility for administrative tasks.\n  - **manage.py**: Django's command-line utility for administrative tasks.\n  - **requirements.txt**: Txt file that holds all of the projects dependencies.\n  - **public**: Built frontend from client client folder to push to deploy\n\n## Getting the app running\n\n1. In the /core directory, create a .env file with the contents from the compscihi discord channel\n2. Also in the /core directory, create a local_settings.py with the following\n```\nfrom pathlib import Path\n\nBASE_DIR = Path(__file__).resolve().parent.parent\n\nDEBUG=True\n\nDATABASES = {\n  \"default\":{\n    'ENGINE': 'django.db.backends.sqlite3',\n    'NAME': BASE_DIR / 'db.sqlite3',\n  }\n}\n```\n3. Create a virtual python environment with ```python -m venv venv```\n4. Run ```pip install -r requirements.txt``` in root directory to install Python related dependencies\n5. CD into directory /theme/static_src and run ```npm install```\n6. CD into directory /website/frontend and run ```npm install```\n7. Back in root directory, run ```npm install``` for global dev scripts\n8. Run ```python manage.py collectstatic``` to collect all static\n9. Start the app with ```npm run dev``` or ```npm run dev3```, the app should be running locally on port 8000, http://127.0.0.1:8000/\n\n## Visualizations\n\n### CompSciHi Architecture Visualization\n\n![Architecture-visual](/visualizations/compscihi-visual-v1.png)\n\n### CompSciHi Opportunity Page Data Fetching Visualization\n\n![Opportunity-page-fetching-visual](/visualizations/compschihi-opportunity-page-visual-v1.png)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8bituhm%2Fcompscihi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F8bituhm%2Fcompscihi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8bituhm%2Fcompscihi/lists"}