Skip to content
This repository was archived by the owner on Jul 6, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
71af19f
Add djangorestframework.
bryanveloso Apr 15, 2018
1c669fc
Add frontend via create-react-app.
bryanveloso Apr 15, 2018
f10129d
Set up API for Players.
bryanveloso Apr 15, 2018
8ecb802
Add django-cors-headers and django-rest-auth.
bryanveloso Apr 15, 2018
29e7bef
Install djangorestframework-jwt.
bryanveloso Apr 15, 2018
1e60026
Add styled-components.
bryanveloso Apr 15, 2018
edad066
Add axios.
bryanveloso Apr 15, 2018
b2043bf
Add lint-staged, prettier, and related dependencies.
bryanveloso Apr 15, 2018
358d55b
Install redux and related dependencies.
bryanveloso Apr 15, 2018
46c6485
Use node@9.x.
bryanveloso Apr 15, 2018
581e3c4
Fix lint-staged definition.
bryanveloso Apr 15, 2018
5223cef
Add all of the helpful ESlint features.
bryanveloso Apr 15, 2018
349a132
Installed the wrong react-router-redux.
bryanveloso Apr 16, 2018
6caced2
Don't lint JSON.
bryanveloso Apr 16, 2018
b61f8d2
Add a serializer for items.
bryanveloso Apr 16, 2018
1625e85
Move App to containers.
bryanveloso Apr 16, 2018
7d294ca
Paginate ItemViewSet.
bryanveloso Apr 16, 2018
ed69c78
Create the store.
bryanveloso Apr 16, 2018
eb41f1a
Use regex for the CORS whitelist.
bryanveloso Apr 16, 2018
94708fd
Add a global footer and Bootstrap Reboot.
bryanveloso Apr 16, 2018
19de3ab
Add react-feather.
bryanveloso Apr 17, 2018
6187dc5
Starting with items... it looks like something. :o
bryanveloso Apr 17, 2018
45f5270
Use a ModelSerializer instead of the Hyperlinked variation.
bryanveloso Apr 17, 2018
3759fbd
Override ItemViewSet.list() to show 10 random items.
bryanveloso Apr 17, 2018
a863d8a
Basic Redux modules for items.
bryanveloso Apr 17, 2018
c7407da
Add TwitchLogin (for django-rest-auth).
bryanveloso Apr 17, 2018
b16d29c
Capitalize the "C" in "common".
bryanveloso Apr 19, 2018
00528ee
Upgrade react and redux.
bryanveloso Apr 19, 2018
999f842
Upgrade prettier and styled-components.
bryanveloso Apr 19, 2018
f8974f5
Add normalizr.
bryanveloso Apr 20, 2018
bad4ba6
Add redux-logger.
bryanveloso Apr 20, 2018
03c6597
Refactor out the root component into its own module.
bryanveloso Apr 20, 2018
83bc978
Add a normalizr schema and use it in our sagas.
bryanveloso Apr 20, 2018
e5b705f
Add reselect.
bryanveloso Apr 21, 2018
6347026
Rename containers to scenes.
bryanveloso Apr 21, 2018
10c8d24
Use a singular "item".
bryanveloso Apr 22, 2018
ad31b09
Don't lint `<Link to="">` components.
bryanveloso Apr 22, 2018
220418b
First try at proper list/detail for items.
bryanveloso Apr 22, 2018
38a02c6
Install whitenoise and gunicorn.
bryanveloso Apr 22, 2018
0e3e21e
Add a Procfile for Heroku.
bryanveloso Apr 22, 2018
091e98b
Configure WhiteNoise.
bryanveloso Apr 22, 2018
c61e829
Formatting.
bryanveloso Apr 22, 2018
18fe39d
Get create-react-app working inside of Django.
bryanveloso Apr 22, 2018
b26e6d9
Move whitenoise down a bit.
bryanveloso Apr 22, 2018
ff675e9
Add react-helmet.
bryanveloso Apr 22, 2018
0380458
Add a default page title.
bryanveloso Apr 22, 2018
89c15d0
Extract `RouteWithLayout` and `Database`.
bryanveloso Apr 22, 2018
6aa3a7a
Basic serializer and API view for mobs.
bryanveloso Apr 22, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"parser": "babel-eslint",
"extends": [
"airbnb",
"prettier",
"prettier/react"
],
"plugins": [
"react",
"prettier"
],
"env": {
"browser": true,
"es6": true,
"node": true
},
"rules": {
"import/no-extraneous-dependencies": 0,
"jsx-a11y/anchor-is-valid": [ "error", { "components": [ "Link" ], "specialLink": [ "to" ] } ],
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] } ],
"react/no-danger": 0
},
"settings": {
"import/resolver": {
"node": {
"moduleDirectory": [
"node_modules",
"src"
]
}
}
}
}
6 changes: 6 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ django-configurations = "*"
django-compressor = "*"
django-libsass = "*"
django-model-utils = "*"
djangorestframework = "*"
django-cors-headers = "*"
django-rest-auth = "*"
djangorestframework-jwt = "*"
whitenoise = "*"
gunicorn = "*"


[dev-packages]
Expand Down
85 changes: 64 additions & 21 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
release: python manage.py migrate
web: gunicorn renova.wsgi --log-file -
6 changes: 6 additions & 0 deletions apps/authentication/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from allauth.socialaccount.providers.twitch.views import TwitchOAuth2Adapter
from rest_auth.registration.views import SocialLoginView


class TwitchLogin(SocialLoginView):
adapter_class = TwitchOAuth2Adapter
10 changes: 10 additions & 0 deletions apps/players/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from rest_framework import serializers

from .models import Player


class PlayerSerializer(serializers.HyperlinkedModelSerializer):

class Meta:
model = Player
fields = ('pk', 'username', 'email', 'account_ids')
9 changes: 8 additions & 1 deletion apps/players/views.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
from django.shortcuts import render
from django.views.generic import DetailView
from django.contrib.auth.mixins import LoginRequiredMixin

from rest_framework import viewsets

from .models import Player
from .serializers import PlayerSerializer


class DashboardView(LoginRequiredMixin, DetailView):
Expand All @@ -11,3 +13,8 @@ class DashboardView(LoginRequiredMixin, DetailView):

def get_object(self):
return self.request.user


class PlayerViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Player.objects.all()
serializer_class = PlayerSerializer
17 changes: 17 additions & 0 deletions apps/ragnarok/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from rest_framework import serializers

from .models import Item, Monster


class ItemSerializer(serializers.ModelSerializer):

class Meta:
model = Item
fields = '__all__'


class MonsterSerializer(serializers.ModelSerializer):

class Meta:
model = Monster
fields ='__all__'
27 changes: 26 additions & 1 deletion apps/ragnarok/views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views.generic.edit import FormView

from rest_framework import filters, viewsets
from rest_framework.response import Response

from .forms import AccountCreationForm
from .models import Item, Monster
from .serializers import ItemSerializer, MonsterSerializer


class AccountCreationView(LoginRequiredMixin, FormView):
Expand All @@ -18,3 +22,24 @@ def get_form_kwargs(self):
kwargs = super(AccountCreationView, self).get_form_kwargs()
kwargs['instance'] = self.request.user
return kwargs


class ItemViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
filter_backends = (filters.OrderingFilter,)
ordering_fields = ('pk', 'name')
ordering = ('pk',)

def list(self, request):
queryset = Item.objects.order_by('?')[:10]
serializer = ItemSerializer(queryset, many=True)
return Response(serializer.data)


class MonsterViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Monster.objects.all()
serializer_class = MonsterSerializer
filter_backends = (filters.OrderingFilter,)
ordering_fields = ('pk', 'iname')
ordering = ('pk',)
19 changes: 16 additions & 3 deletions apps/views.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
from django.views.generic import TemplateView
import os

from django.conf import settings
from django.http import HttpResponse
from django.views.generic import View

class SiteView(TemplateView):
template_name = 'landings/site_home.html'

class ReactView(View):

def get(self, request):
try:
with open(
os.path.join(settings.REACT_DIR, 'build', 'index.html')
) as file:
return HttpResponse(file.read())

except Exception:
return HttpResponse(status=501)
21 changes: 21 additions & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Loading