Skip to content

Commit

Permalink
Form, ViewList functionally works, update, edit, and UI need to be fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
sky1122 committed Nov 13, 2022
1 parent 3c070fc commit 0bd39b3
Show file tree
Hide file tree
Showing 19 changed files with 450 additions and 8 deletions.
Binary file modified APIProject/__pycache__/settings.cpython-310.pyc
Binary file not shown.
11 changes: 10 additions & 1 deletion APIProject/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'corsheaders',
'api',

]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
Expand All @@ -54,6 +56,11 @@

ROOT_URLCONF = 'APIProject.urls'

ALLOWED_HOSTS=['*']

CORS_ORIGIN_ALLOW_ALL = True


TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
Expand Down Expand Up @@ -128,3 +135,5 @@
# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'


Binary file modified api/__pycache__/views.cpython-310.pyc
Binary file not shown.
18 changes: 18 additions & 0 deletions api/migrations/0007_alter_member_email.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 4.1.3 on 2022-11-12 23:28

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('api', '0006_alter_member_last_name'),
]

operations = [
migrations.AlterField(
model_name='member',
name='email',
field=models.CharField(blank=True, max_length=200),
),
]
Binary file not shown.
12 changes: 10 additions & 2 deletions api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,22 @@

from .models import Member, Team
from .serializers import MemberSerializer, TeamSerializer

from rest_framework.decorators import api_view
# Create your views here.
# def index(request):
# return HttpResponse("Hello, world. You're at the polls index.")

# Create a list of all the members
@csrf_exempt
@api_view(['GET', 'POST', 'DELETE'])
def member_list(request):
if request.method == 'GET':
print(request.GET.get("team"))
members = Member.objects.all()
serializer = MemberSerializer(members, many=True)
if request.GET.get("team") is None:
serializer = MemberSerializer(members, many=True)
else:
serializer = MemberSerializer(members.filter(team=request.GET.get("team")), many=True)
return JsonResponse(serializer.data, safe=False)

elif request.method == 'POST':
Expand All @@ -28,6 +33,7 @@ def member_list(request):


@csrf_exempt
@api_view(['GET', 'POST', 'DELETE'])
def team_list(request):
if request.method == 'GET':
teams = Team.objects.all()
Expand All @@ -47,6 +53,7 @@ def team_list(request):
return JsonResponse(serializer.errors, status=400)

@csrf_exempt
@api_view(['GET', 'POST', 'DELETE', 'PUT'])
def member_detail(request, pk):
try:
member = Member.objects.get(pk=pk)
Expand All @@ -70,6 +77,7 @@ def member_detail(request, pk):
return HttpResponse(status=204)

@csrf_exempt
@api_view(['GET', 'POST', 'DELETE', 'PUT'])
def team_detail(request, pk):
try:
team = Team.objects.get(pk=pk)
Expand Down
61 changes: 61 additions & 0 deletions frontend/package-lock.json

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

1 change: 1 addition & 0 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"daisyui": "^2.39.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.4.3",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
Expand Down
24 changes: 19 additions & 5 deletions frontend/src/App.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
import './App.css';

import {Routes, Route} from "react-router-dom";
import AddTeamMember from './components/AddTeamMember';
import Footer from './components/Footer';
import Nav from './components/Nav';
import TeamList from './components/TeamList';
import TeamMemberList from './components/TeamMemberList';
function App() {
return (
<div className="App">
<div className="text-center">
<h1 className="text-center text-4xl text-blue-500">App.js</h1>
<button className="btn btn-primary">Primary</button>
</div>
<Nav />
<Routes>
{/* <TeamMemberList/> */}
<Route path='/Team' element={<TeamList/>} />
<Route path='Team/:TeamId' element={<TeamMemberList />} />
{/* <AddTeamMember/> */}
</Routes>
<Footer />
</div>
);
}






export default App;
15 changes: 15 additions & 0 deletions frontend/src/components/AddTeamMember.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import React from 'react'
import Info from './Form'

export default function AddTeamMember() {
return (
<div>
<div class="flex flex-col justify-center w-9/12">
<div><h1>Add a team member</h1></div>
<p>Set email, location and role</p>
<div className="divider"></div>
<Info />
</div>
</div>
)
}
49 changes: 49 additions & 0 deletions frontend/src/components/Footer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import React from 'react'

export default function Footer() {
return (
<div>
<footer className="footer p-10 bg-base-200 text-base-content">
<div>
<span className="footer-title">Company</span>
<a className="link link-hover">About</a>
<a className="link link-hover">Career</a>
<a className="link link-hover">Marketing</a>
<a className="link link-hover">Advertisement</a>
</div>
<div>
<span className="footer-title">Business</span>
<a className="link link-hover">About us</a>
<a className="link link-hover">Contact</a>
<a className="link link-hover">Jobs</a>
<a className="link link-hover">Press kit</a>
</div>
<div>
<span className="footer-title">Workers</span>
<a className="link link-hover">Terms of use</a>
<a className="link link-hover">Privacy policy</a>
<a className="link link-hover">Cookie policy</a>
</div>
<div>
<span className="footer-title">Top cities</span>
<a className="link link-hover">Terms of use</a>
<a className="link link-hover">Privacy policy</a>
<a className="link link-hover">Cookie policy</a>
</div>
</footer>
<footer className="footer px-10 py-4 border-t bg-base-200 text-base-content border-base-300">
<div className="items-center grid-flow-col">
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fillRule="evenodd" clipRule="evenodd" className="fill-current"><path d="M22.672 15.226l-2.432.811.841 2.515c.33 1.019-.209 2.127-1.23 2.456-1.15.325-2.148-.321-2.463-1.226l-.84-2.518-5.013 1.677.84 2.517c.391 1.203-.434 2.542-1.831 2.542-.88 0-1.601-.564-1.86-1.314l-.842-2.516-2.431.809c-1.135.328-2.145-.317-2.463-1.229-.329-1.018.211-2.127 1.231-2.456l2.432-.809-1.621-4.823-2.432.808c-1.355.384-2.558-.59-2.558-1.839 0-.817.509-1.582 1.327-1.846l2.433-.809-.842-2.515c-.33-1.02.211-2.129 1.232-2.458 1.02-.329 2.13.209 2.461 1.229l.842 2.515 5.011-1.677-.839-2.517c-.403-1.238.484-2.553 1.843-2.553.819 0 1.585.509 1.85 1.326l.841 2.517 2.431-.81c1.02-.33 2.131.211 2.461 1.229.332 1.018-.21 2.126-1.23 2.456l-2.433.809 1.622 4.823 2.433-.809c1.242-.401 2.557.484 2.557 1.838 0 .819-.51 1.583-1.328 1.847m-8.992-6.428l-5.01 1.675 1.619 4.828 5.011-1.674-1.62-4.829z"></path></svg>
<p>ACME Industries Ltd. <br />Providing reliable tech since 1992</p>
</div>
<div className="md:place-self-center md:justify-self-end">
<div className="grid grid-flow-col gap-4">
<a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" className="fill-current"><path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"></path></svg></a>
<a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" className="fill-current"><path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"></path></svg></a>
<a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" className="fill-current"><path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"></path></svg></a>
</div>
</div>
</footer>
</div>
)
}
Loading

0 comments on commit 0bd39b3

Please sign in to comment.