

This file contains the tests for the serializers. There are 3 tests to check that the scores are only able to be created correctly. This file contains the tests for the models. Here you will find descriptions of all the files in the project: /api The user will be decoded from the jwt token contained in the header of the request Files

The API has the following endpoints: POST /api/login They are class based views using best practices for Django Rest Framework.Īll functionality has been thoroughly tested in the tests folder to ensure their working condition. The views correspond to the api endpoints below. The score is linked to the user with a foreign key The models file contains the User model and the MinesweeperScore model. The API has a serializers file which contains the serializers for register, login, token and minesweeper scores The frontend application communicates with a Django REST api. The complexity of this application comes from the authenitication flow and the complexity of maintaining a quality webpage experience with complex state management. The backend is a Django application with two models.The frontend is written entirely in Typescript to obtain type safety.This project satisfies the complexity requirements: There is no other project in the course that requires the implementation of authentication, or anything that uses JWT to authenticate via an api. This is distinct because there are no other similar style of projects either which are to make a workable web game. This project is distinctive from all the other projects in CS50Web due to the decoupled nature of using a Frontend application with an API. Distinctiveness and Complexity Distinctiveness
