Skip to content
Snippets Groups Projects
Commit 2a23b839 authored by Marc Feger's avatar Marc Feger
Browse files

Merge feedingChickenWithChicken into main

parents 6eea45af 454ca64d
Branches
No related tags found
1 merge request!2Merge feedingChickenWithChicken into main
Pipeline #75194 failed
Showing
with 45 additions and 42 deletions
...@@ -24,8 +24,8 @@ yarn-error.log* ...@@ -24,8 +24,8 @@ yarn-error.log*
*.eslintcache *.eslintcache
*/media/account/images/ */media/account/images/
the_social_network/django_static social_network/django_static
pypi/*/ pypi/*/
the_social_network/dist social_network/dist
the_social_network/the_social_network.egg-info social_network/the_social_network.egg-info
\ No newline at end of file \ No newline at end of file
...@@ -33,7 +33,7 @@ test: ...@@ -33,7 +33,7 @@ test:
script: script:
- echo "Testing ..." - echo "Testing ..."
- docker-compose -f docker-compose.ci.yml pull - docker-compose -f docker-compose.ci.yml pull
- docker-compose -f docker-compose.ci.yml run web sh -c "poetry run python manage.py makemigrations && poetry run python manage.py migrate && poetry run python manage.py test core -v 2" - docker-compose -f docker-compose.ci.yml run web sh -c "poetry run python manage.py makemigrations && poetry run python manage.py migrate && poetry run python manage.py test the_social_network -v 2"
deploy: deploy:
only: only:
...@@ -43,9 +43,7 @@ deploy: ...@@ -43,9 +43,7 @@ deploy:
- test - test
script: script:
- echo "Deploying ..." - echo "Deploying ..."
- cd ./the_social_network - cd ./social_network
- mv ./the_social_network ./not_needed
- mv ./core ./the_social_network
- apk add py-pip - apk add py-pip
- pip install poetry - pip install poetry
- poetry --version - poetry --version
......
# The Social Network # The Social Network
`the_social_network/` is the backend of the most thinkable fronted for social networks, which was developed with [Django](https://www.djangoproject.com/) and [Django Rest Framework](https://www.django-rest-framework.org/) `social_network/` is the backend of the most thinkable fronted for social networks, which was developed with [Django](https://www.djangoproject.com/) and [Django Rest Framework](https://www.django-rest-framework.org/)
This subproject is the basis for any possible type of social networks. This subproject is the basis for any possible type of social networks.
The `core/` subfolder is the core of this project an is managed to working as a starting point for any further works on basic social networks. The `the_social_network/` subfolder is the core of this project an is managed to working as a starting point for any further works on basic social networks.
Use the [Postman-Documentation](https://documenter.getpostman.com/view/13331140/TzRNFVaC) and run it locally for a detailed overview about the API. Use the [Postman-Documentation](https://documenter.getpostman.com/view/13331140/TzRNFVaC) and run it locally for a detailed overview about the API.
Make sure the database is seeded with corresponding data. Make sure the database is seeded with corresponding data.
......
version: "3" version: "3"
services: services:
web: web:
build: ./the_social_network build: ./social_network
image: ${REGISTRY}/feger/the-social-network/web:latest image: ${REGISTRY}/feger/the-social-network/web:latest
volumes: volumes:
- ./the_social_network:/code - ./social_network:/code
\ No newline at end of file
...@@ -3,11 +3,11 @@ version: '3' ...@@ -3,11 +3,11 @@ version: '3'
services: services:
the_social_network: the_social_network:
container_name: the_social_network container_name: the_social_network
build: ./the_social_network build: ./social_network
restart: always restart: always
command: sh -c "poetry run python manage.py collectstatic --noinput && poetry run python manage.py runserver 0.0.0.0:9000" command: sh -c "poetry run python manage.py collectstatic --noinput && poetry run python manage.py runserver 0.0.0.0:9000"
volumes: volumes:
- ./the_social_network:/code - ./social_network:/code
networks: networks:
- webnet - webnet
ports: ports:
......
File moved
File moved
File moved
...@@ -6,7 +6,7 @@ import sys ...@@ -6,7 +6,7 @@ import sys
def main(): def main():
"""Run administrative tasks.""" """Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'the_social_network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'social_network.settings')
try: try:
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line
except ImportError as exc: except ImportError as exc:
......
""" """
ASGI config for the_social_network project. ASGI config for social_network project.
It exposes the ASGI callable as a module-level variable named ``application``. It exposes the ASGI callable as a module-level variable named ``application``.
...@@ -11,6 +11,6 @@ import os ...@@ -11,6 +11,6 @@ import os
from django.core.asgi import get_asgi_application from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'the_social_network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'social_network.settings')
application = get_asgi_application() application = get_asgi_application()
""" """
Django settings for the_social_network project. Django settings for social_network project.
Generated by 'django-admin startproject' using Django 3.1.2. Generated by 'django-admin startproject' using Django 3.1.2.
...@@ -42,7 +42,7 @@ INSTALLED_APPS = [ ...@@ -42,7 +42,7 @@ INSTALLED_APPS = [
'corsheaders', 'corsheaders',
'rest_framework', 'rest_framework',
'rest_framework.authtoken', 'rest_framework.authtoken',
'core', 'the_social_network',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
...@@ -56,7 +56,7 @@ MIDDLEWARE = [ ...@@ -56,7 +56,7 @@ MIDDLEWARE = [
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
] ]
ROOT_URLCONF = 'the_social_network.urls' ROOT_URLCONF = 'social_network.urls'
TEMPLATES = [ TEMPLATES = [
{ {
...@@ -74,7 +74,7 @@ TEMPLATES = [ ...@@ -74,7 +74,7 @@ TEMPLATES = [
}, },
] ]
WSGI_APPLICATION = 'the_social_network.wsgi.application' WSGI_APPLICATION = 'social_network.wsgi.application'
# Database # Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases # https://docs.djangoproject.com/en/3.1/ref/settings/#databases
...@@ -133,3 +133,8 @@ REST_FRAMEWORK = { ...@@ -133,3 +133,8 @@ REST_FRAMEWORK = {
# Folder to store media data # Folder to store media data
MEDIA_URL = '/media/' MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
"""the_social_network URL Configuration """social_network URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see: The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/ https://docs.djangoproject.com/en/3.2/topics/http/urls/
...@@ -21,8 +21,8 @@ from django.urls import path, include ...@@ -21,8 +21,8 @@ from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
url(r'^authentication/', include('core.urls.authenticationUrls')), url(r'^authentication/', include('the_social_network.urls.authenticationUrls')),
url(r'^accounts/', include('core.urls.accountUrls')), url(r'^accounts/', include('the_social_network.urls.accountUrls')),
url(r'^search/', include('core.urls.searchUrls')), url(r'^search/', include('the_social_network.urls.searchUrls')),
url(r'^contents/', include('core.urls.contentUrls')), url(r'^contents/', include('the_social_network.urls.contentUrls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
""" """
WSGI config for the_social_network project. WSGI config for social_network project.
It exposes the WSGI callable as a module-level variable named ``application``. It exposes the WSGI callable as a module-level variable named ``application``.
...@@ -11,6 +11,6 @@ import os ...@@ -11,6 +11,6 @@ import os
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'the_social_network.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'social_network.settings')
application = get_wsgi_application() application = get_wsgi_application()
...@@ -2,4 +2,4 @@ from django.apps import AppConfig ...@@ -2,4 +2,4 @@ from django.apps import AppConfig
class AuthenticationConfig(AppConfig): class AuthenticationConfig(AppConfig):
name = 'core' name = 'the_social_network'
...@@ -26,8 +26,8 @@ class Migration(migrations.Migration): ...@@ -26,8 +26,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
('from_account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_account', to='core.account')), ('from_account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_account', to='the_social_network.account')),
('to_account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_account', to='core.account')), ('to_account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_account', to='the_social_network.account')),
], ],
options={ options={
'ordering': ('-created',), 'ordering': ('-created',),
...@@ -36,7 +36,7 @@ class Migration(migrations.Migration): ...@@ -36,7 +36,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='account', model_name='account',
name='related_to', name='related_to',
field=models.ManyToManyField(blank=True, default=None, related_name='related_by', through='core.Relationship', to='core.Account'), field=models.ManyToManyField(blank=True, default=None, related_name='related_by', through='the_social_network.Relationship', to='the_social_network.Account'),
), ),
migrations.CreateModel( migrations.CreateModel(
name='Statement', name='Statement',
...@@ -44,7 +44,7 @@ class Migration(migrations.Migration): ...@@ -44,7 +44,7 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', models.CharField(max_length=120)), ('content', models.CharField(max_length=120)),
('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.account')), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='the_social_network.account')),
], ],
options={ options={
'ordering': ('-created',), 'ordering': ('-created',),
...@@ -63,8 +63,8 @@ class Migration(migrations.Migration): ...@@ -63,8 +63,8 @@ class Migration(migrations.Migration):
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
('hashtag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hashtag', to='core.hashtag')), ('hashtag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hashtag', to='the_social_network.hashtag')),
('statement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.statement')), ('statement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='the_social_network.statement')),
], ],
options={ options={
'ordering': ('-created',), 'ordering': ('-created',),
...@@ -73,15 +73,15 @@ class Migration(migrations.Migration): ...@@ -73,15 +73,15 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='statement', model_name='statement',
name='tagged', name='tagged',
field=models.ManyToManyField(blank=True, default=None, related_name='tags', through='core.HashtagTagging', to='core.Hashtag'), field=models.ManyToManyField(blank=True, default=None, related_name='tags', through='the_social_network.HashtagTagging', to='the_social_network.Hashtag'),
), ),
migrations.CreateModel( migrations.CreateModel(
name='AccountTagging', name='AccountTagging',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='account', to='core.account')), ('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='account', to='the_social_network.account')),
('statement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.statement')), ('statement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='the_social_network.statement')),
], ],
options={ options={
'ordering': ('-created',), 'ordering': ('-created',),
...@@ -90,7 +90,7 @@ class Migration(migrations.Migration): ...@@ -90,7 +90,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='statement', model_name='statement',
name='mentioned', name='mentioned',
field=models.ManyToManyField(blank=True, default=None, related_name='mentions', through='core.AccountTagging', to='core.Account'), field=models.ManyToManyField(blank=True, default=None, related_name='mentions', through='the_social_network.AccountTagging', to='the_social_network.Account'),
), ),
migrations.CreateModel( migrations.CreateModel(
name='Reaction', name='Reaction',
...@@ -98,8 +98,8 @@ class Migration(migrations.Migration): ...@@ -98,8 +98,8 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, db_index=True)), ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
('vote', models.PositiveSmallIntegerField(choices=[(1, 'like'), (2, 'dislike')], default=1)), ('vote', models.PositiveSmallIntegerField(choices=[(1, 'like'), (2, 'dislike')], default=1)),
('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='child', to='core.statement')), ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='child', to='the_social_network.statement')),
('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parent', to='core.statement')), ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parent', to='the_social_network.statement')),
], ],
options={ options={
'ordering': ('-created',), 'ordering': ('-created',),
...@@ -108,6 +108,6 @@ class Migration(migrations.Migration): ...@@ -108,6 +108,6 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='statement', model_name='statement',
name='reactions', name='reactions',
field=models.ManyToManyField(blank=True, default=None, related_name='reaction_of', through='core.Reaction', to='core.Statement'), field=models.ManyToManyField(blank=True, default=None, related_name='reaction_of', through='the_social_network.Reaction', to='the_social_network.Statement'),
), ),
] ]
...@@ -6,7 +6,7 @@ from django.db import migrations, models ...@@ -6,7 +6,7 @@ from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('core', '0001_initial'), ('the_social_network', '0001_initial'),
] ]
operations = [ operations = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment