# MySU is a member administration tool used to provide a common platform for any association willing to be a part of it.
### Backend of MySU is divided into several components:
## This document provides comprehensive information about:
- The **purpose** and **final goal** of the application.
-**Description** of each **component** and **subcomponent** of the project.
-**Guide** for **backend** setup.
-**Guide** for **frontend** setup.
-**Structure** of the **backend** repository.
-**Structure** of the **frontend** repository.
-**URLs** of: **local**, **development** and **live** versions of the backend/API and frontend.
-**Tips** for the future administrator.
-**URLs** to both **frontend** and **backend** gitlab repositories.
### Its primary purpose is to provide starting or existing small and medium size associations a tool to manage their associations.
-**Board members** can manage all members of the associations.
-**Board members** can create events, in which the members of the association can participate in.
-**Board members** can manage the finances of different members within the association.
-**Application** can be setup by board members to send emails with arbitrary content to the members of the association.
### Its secondary purpose is to allow associations to interact with each other, creating a network of associations.
Events can be set to be seen by other associations, allowing members of different associations to join the same event.
### Its final goal is to create a universal web platform for all small and medium size associations.
With several associations joining the platform, it would allow to create a network of associations.
This could prove beneficial in the future e.g., UT hosting a big event involving multiple associations
# Backend of MySU is divided into several components:
-**Buddy** is responsible for matching different users of the app. Currently, the application is in no way linked to the frontend, but is required for it to run.
-**Calendar** is responsible for handling events provided by different associations. It contains information about: enrollment, enrollment options, event types, and events themselves.
-**Email** is responsible for distributing emails to members of the various associations.
...
...
@@ -9,13 +33,59 @@
-**Backend [MySU]** is a main part of the code that the other components are built upon. It handles all the major work and provides the functionality for the web application.
-**Exams** and **Inventory** are **deprecated** and have no use for the main App, as of now. Can be found in "Unused Apps" directory.
## In order to properly setup the backend/API of MySU application in local environment, follow:
# It is assumed that:
- The current administrator is acquainted with the basics of Django, Django-API and other related frameworks (Backend/API).
- The current administrator is acquainted with the basics of Node.js (Frontend).
- The current administrator is well acquainted with the Python language.
- The current administrator is well acquainted with the SQL language.
# In order to properly setup the backend/API of MySU application in local environment, follow: