https://github.com/8bituhm/compscihi
CompSciHi official website.
https://github.com/8bituhm/compscihi
django firebase postgresql react tailwindcss typescript webpack
Last synced: 5 months ago
JSON representation
CompSciHi official website.
- Host: GitHub
- URL: https://github.com/8bituhm/compscihi
- Owner: 8bitUHM
- License: other
- Created: 2024-09-10T03:41:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-17T00:36:52.000Z (over 1 year ago)
- Last Synced: 2025-01-17T01:27:50.918Z (over 1 year ago)
- Topics: django, firebase, postgresql, react, tailwindcss, typescript, webpack
- Language: TypeScript
- Homepage: https://compscihi.com
- Size: 17.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# 8bitUHM CompSciHi
1. [Project Structure](#project-structure)
2. [Getting the app running](#getting-the-app-running)
3. [Development](#development)
## Project Structure
The project is organized into several components:
- **compscihi**: The main project directory.
- **.github/**: GitHub actions CI/CD for deployment automations
- **api/**: API app
- **migrations/**: Database migration files.
- **templates/**: HTML templates.
- **admin.py**: Admin interface configuration.
- **forms.py**: HTML forms. Forms define how data is input and validated by the user.
- **models.py**: Data models. Models define the structure of the database and interact with data.
- **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.
- **tests.py**: Unit tests.
- **urls.py**: URL configuration for the portal app, mapping URLs to views.
- **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.
- **core/**: Main or 'host' app
- **settings.py**: Configuration settings for the project, including database settings, middleware, installed apps, and other project-specific configurations. Models are defined here.
- **urls.py**: URL configuration for the project, mapping URLs to views.
- **db_file_storage/**: File storage systems that allows us to store files by raw bytes and mimetype in database.
- **portal/**: Portal app
- **migrations/**: Database migration files.
- **static/**: Static files (CSS, JavaScript, images).
- **templates/**: HTML templates.
- **admin.py**: Admin interface configuration.
- **forms.py**: HTML forms. Forms define how data is input and validated by the user.
- **models.py**: Data models. Models define the structure of the database and interact with data.
- **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.
- **tests.py**: Unit tests.
- **urls.py**: URL configuration for the portal app, mapping URLs to views.
- **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.
- **website/**: Website app
- **frontend/**: Database migration files.
- **src/**: Frontend source files
- **assets/**: Frontend static assets
- **compiled-components/**: Frontend ompiled components -- own components on Django templates
- **components/**: Frontend components -- not separate components on Django templates
- **firebase/**: Firebase config
- **pages/**: Frontend pages
- **styles/**: Tailwind styles config files
- **types/**: Types for image imports
- **util/**: Utility function files
- **webpack/**: Webpack config files
- **migrations/**: Database migration files.
- **static/**: Static files (CSS, JavaScript, images).
- **templates/**: HTML templates.
- **admin.py**: Admin interface configuration.
- **models.py**: Data models. Models define the structure of the database and interact with data.
- **tests.py**: Unit tests.
- **urls.py**: URL configuration for the portal app, mapping URLs to views.
- **views.py**: View functions or classes. Views handle HTTP requests and return HTTP responses.
- **manage.py**: Django's command-line utility for administrative tasks.
- **manage.py**: Django's command-line utility for administrative tasks.
- **requirements.txt**: Txt file that holds all of the projects dependencies.
- **public**: Built frontend from client client folder to push to deploy
## Getting the app running
1. In the /core directory, create a .env file with the contents from the compscihi discord channel
2. Also in the /core directory, create a local_settings.py with the following
```
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
DEBUG=True
DATABASES = {
"default":{
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
```
3. Create a virtual python environment with ```python -m venv venv```
4. Run ```pip install -r requirements.txt``` in root directory to install Python related dependencies
5. CD into directory /theme/static_src and run ```npm install```
6. CD into directory /website/frontend and run ```npm install```
7. Back in root directory, run ```npm install``` for global dev scripts
8. Run ```python manage.py collectstatic``` to collect all static
9. 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/
## Visualizations
### CompSciHi Architecture Visualization

### CompSciHi Opportunity Page Data Fetching Visualization
