Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abhishek-mallick/assessment360

Assessment360 aims to revolutionize assignment management by making it simple, efficient, and meaningful for all stakeholders. Our solution is designed to help educational institutions gain a competitive edge.
https://github.com/abhishek-mallick/assessment360

admin-panel announcements assignment community dashboard django hackathon management-system python

Last synced: about 2 months ago
JSON representation

Assessment360 aims to revolutionize assignment management by making it simple, efficient, and meaningful for all stakeholders. Our solution is designed to help educational institutions gain a competitive edge.

Awesome Lists containing this project

README

        

## Assessment360
Assessment360 aims to revolutionize assignment management by making it simple, efficient, and meaningful for all stakeholders. Our solution is designed to help educational institutions gain a competitive edge.

### Deployed live at : [Assessment360](https://assessment360.pythonanywhere.com/)

## Installation

1. **Clone the repository:**

```bash
git clone https://github.com/Abhishek-Mallick/Assessment360.git
cd Assessment360
```

2. **Set up MongoDB:**

- Make sure MongoDB is installed and running on your machine or you can use my mongo db test url.
- Create a `.env` file in the root directory with the following content:

```env
MONGO_URL=mongodb://localhost:27017/Assessment360
```

or

```
MONGO_URL = "mongodb+srv://:@..mongodb.net/?retryWrites=true&w=majority"
```

3. **Set up Enviornment Variables**
- Create a `.env` file on the base of the directory. On the `.env` file add the variables:
```
MONGO_URL=""
MAIL_SERVER="" (eg: smtp.gmail.com)
MAIL_PORT=465
MAIL_USERNAME=""[email protected]""
MAIL_PASSWORD=""
O_AUTH_CLIENT_ID=""
```

## Running the Application

1. **Setting up Virtual Enviornment (venv)**
```bash
python -m venv venv
./venv/Scripts/activate
```
2. **Installing dependencies**
```bash
pip install -r "requirements.txt"
```

3. **Creating super_user**
```bash
python manage.py createsuperuser"
```
4. **Running the Application**
```bash
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
```

## Default Logins and Passwords

| Type | UserId | Password |
| ------ | -------------------- | ------------------- |
| `Faculty` | `202` | pass@123 |
| `Student` | `402` | pass@123 |

## Endpoints

### Admin (super_user)

| Method | Endpoint | Description | Request Body | Response Body |
| ------ | -------------------- | ------------------- | ----------------------------- | -------------------------- |
| `POST` | `/admin/register` | Register a new Admin | JSON: {name,priority} | JSON: {token,user,admin_id} |
| `GET` | `/admin/:id` | Get Admin details | NULL | JSON: {admin} |

### Tasks

| Method | Endpoint | Description | Query | Headers | Request Body | Response Body |
| -------- | -------------------- | -------------------------- | --------------------------------------- | ------------------------------- | ---------------------------------- | -------------------------------------------- |
| `GET` | `/student/assignment` | Get all Assignemnts of the Student of all courses | priority, status, due_date, page, limit | Authorization: student_id | N/A | JSON: {docs,totalDocs,page,limit,totalPages} |
| `POST` | `/student/update-assign` | Create a new Assignment for Student under a Course | N/A | Authorization: student_id | JSON: {title,description,due_date,pdf_location} | JSON: {task,assign_id} |
| `DELETE` | `/api/task/:task_id` | Soft Delete Assignment for Student | N/A | Authorization: student_id | N/A | JSON: {task,assign_id} |

### Sub Tasks

| Method | Endpoint | Description | Query | Headers | Request Body | Response Body |
| -------- | ------------------------ | ------------------------------ | ------- | ------------------------------- | --------------- | ----------------------- |
| `GET` | `/discussion` | Get all Discussion of the User | task_id | Authorization: stud_id | N/A | JSON: {subTasks} |
| `GET` | `/tests` | Get all tests allocated to the User | stud_id | Authorization: stud_id | N/A | JSON: {subTasks} |
| `POST` | `/tests/update` | Create a new submit for test by Student under Course | N/A | Authorization: stud_id | JSON: {task_id} | JSON: {subTask,test_id} |
| `DELETE` | `/tests/:test_id` | Delete test for student by faculty | stud_id | Authorization: stud_id | N/A | JSON: {subTask,test_id} |

## Webapp Preview
![img1](https://github.com/Abhishek-Mallick/Assessment360/assets/83288891/ae18c965-8f20-4d54-98ed-0fae676c58c9)

![img2](https://github.com/Abhishek-Mallick/Assessment360/assets/83288891/1f2f6122-66ca-459a-ac5b-b1f371a1e940)

![img3](https://github.com/Abhishek-Mallick/Assessment360/assets/83288891/74588dce-b750-4147-9493-a8d0035db8a3)

![img4](https://github.com/Abhishek-Mallick/Assessment360/assets/83288891/7b96fb6c-2170-48de-9f22-6865951803ea)

![Screenshot 2024-02-04 104010](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/871e138f-8d2b-4710-81e8-5c85607dff7c)

![Screenshot 2024-02-04 104858](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/46ea2749-2efd-4538-b274-9ce76ab6b13a)

![Screenshot 2024-02-04 104822](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/e977bbc8-90f0-4318-8b3c-2c9a90abd2bc)

![Screenshot 2024-02-04 104143](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/5ceb8943-c575-4eb8-859a-b4a15d0f6c1c)

![Screenshot 2024-02-04 104506](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/edee7a00-bdff-412c-8f10-1eb9460153c1)

![Screenshot 2024-02-04 105123](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/8189e9f4-3806-4443-a562-7a6e87ef8694)

![Screenshot 2024-02-04 105454](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/f76a7d32-74a7-497a-a16d-46d3e2e7e216)

![Screenshot 2024-02-04 110142](https://github.com/Abhishek-Mallick/Assessment360/assets/106394426/978fd889-6e19-441e-bbe6-dd22a7217752)