Skip to content

Implementation of the Beer Distribution Game using Django REST Framework for backend and React for frontend

Notifications You must be signed in to change notification settings

erlisakulla/bdg-django-react-xp3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 

Repository files navigation

se-03-team-32

SE Sprint 03, Team 32, Date: 13.04.2021

Table of Contents

Overview of Changes From Last Sprint

  • Implementing Django REST framework
  • Significant changes in frontend design and structure
  • Connecting frontend and backend using axios
    • Requests are handled using JWT token authentication
  • Implemented many functionalities, for more details check the backend and frontend README.md files

Quick Note: The change in the backend framework was necessary because the previous backend contained only the models using https://sequelize.org/ and nothing else was implemented and the token generation and login were also not working. We tried working on that backend but it was getting very difficult and we decided to change it completely before it was too late.

This would also benefit to the people for upcoming sprints as the codebase is clean and all the plethora of documentation in different forms are provided.

First, We imported all the User, Role, Week, Game Models from Node.js and converted it to Djangorestframework compatible Models. And only then we started working on this project.

Project Overview

  • Backend: Django
  • Frontend: React

This project is divided into two main apps: backend and frontend. They must be run separately but at the same time. First clone the repository using:

git clone https://github.com/lorenzorota/se-03-team-32.git

For full documentation on how to setup the project follow the links below:

Bonus

In our implementation, we have changed some parts from the specification document. We thought it would be easier and better that the student registers for the created games rather than the instructor assigning them and dealing with passwords or emails. For now, students can register to any created game (that has available roles, games with assigned roles don't appear), despite of the instructor that created them, however this could be later on limited to a list of games created by the student's instructor. Also a student can't register for the same game in more than one role and only one student can be registered per role. The student could either select the instructor from a select option that has a list of all registered instructors, or provide a unique instructor id/code that identifies their instructor to protect their data privacy.

The suggestions below could be a guide of following up the changes we have made, however not limited to other suitable options.

Further Implementation

Despite most APIs, pages and components being implemented, there is still room for improvement. Some other functionalities that can be added are:

  • Students can select Instructor upon registration. Then students can only join games that their instructor creates.
  • Including Demand in game implementation and logic.
  • Finishing up Game Insights page that displays the selected plots and other game data.
  • Adding Delete Account option.
  • Student gets notified when a game is activated from the instructor (maybe by email). Instructor can schedule a game to be activated at a specific time.
  • Implementing what happends when game is completed

About

Implementation of the Beer Distribution Game using Django REST Framework for backend and React for frontend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published