refactor: renamed app to school

This commit is contained in:
Jannat Patel
2021-10-11 20:31:27 +05:30
parent 13022e0bcc
commit d07dbcc50a
466 changed files with 2497 additions and 146 deletions

View File

@@ -0,0 +1,35 @@
The Hackathon module allows Community Members to organize and manage hackathons. Community Members can view these hackathons on the portal.
<img class="screenshot" src="/community/hackathon/images/hackathons-portal.png">
### Key Features:
##### Organize Hackathons
1. Hackathons can be created using the **Community Hackathon** doctype.
1. Enter the hackathon name, the organizer, the year and Save.
<img class="screenshot" src="/community/hackathon/images/community-hackathon.png">
##### Projects
1. A Hackathon will have multiple Projects.
1. Projects can be created using the **Community Project** doctype from the desk.
1. Projects can also be created from the Portal using the Projects webform.
1. Enter details like Project Name, Project Short Intro, Project Description.
1. Attach important links like Repository Link, Demo Link, Telegram Id.
1. The checkbox Accepting Members can be used if you are still aceepting members for your project.
<img class="screenshot" src="/community/hackathon/images/project-1.png">
<img class="screenshot" src="/community/hackathon/images/project-2.png">
1. Projects are visible on the portal as well.
<img class="screenshot" src="/community/hackathon/images/project-portal.png">
<img class="screenshot" src="/community/hackathon/images/project-details.png">
##### Project Members
1. Community Members can explore the projects of hackathons and decide if they want to join any project.
1. If the project is accepting members they can apply for the project from the web form available on the portal.
<img class="screenshot" src="/community/hackathon/images/project-join-request.png">
1. Project owners can review the requests and accept/reject the members.

View File

View File

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Hackathon', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,60 @@
{
"actions": [],
"autoname": "field:hackathon_name",
"creation": "2021-02-17 12:40:25.604012",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"hackathon_name",
"organizer",
"year"
],
"fields": [
{
"fieldname": "hackathon_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Hackathon Name",
"reqd": 1,
"unique": 1
},
{
"fieldname": "organizer",
"fieldtype": "Link",
"label": "Organizer",
"options": "User"
},
{
"fieldname": "year",
"fieldtype": "Select",
"label": "Year",
"options": "\n2021\n2022\n2023\n2024\n2025"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-05-21 12:22:26.619776",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Hackathon",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityHackathon(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityHackathon(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Project', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,144 @@
{
"actions": [],
"allow_import": 1,
"autoname": "field:project_name",
"creation": "2021-02-12 18:28:33.440328",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"disabled",
"column_break_2",
"accepting_members",
"section_break_4",
"project_name",
"project_short_intro",
"project_description",
"section_break_8",
"repository_link",
"video_link",
"column_break_11",
"hackathon",
"telegram_id",
"likes",
"project_search"
],
"fields": [
{
"default": "0",
"fieldname": "disabled",
"fieldtype": "Check",
"label": "Disabled"
},
{
"fieldname": "project_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Project Name",
"reqd": 1,
"unique": 1
},
{
"fieldname": "project_short_intro",
"fieldtype": "Small Text",
"label": "Project Short Intro"
},
{
"fieldname": "repository_link",
"fieldtype": "Small Text",
"label": "Repository Link"
},
{
"fieldname": "video_link",
"fieldtype": "Data",
"label": "Video Link"
},
{
"fieldname": "telegram_id",
"fieldtype": "Data",
"label": "Telegram Id"
},
{
"fieldname": "project_description",
"fieldtype": "Markdown Editor",
"label": "Project Description"
},
{
"fieldname": "hackathon",
"fieldtype": "Link",
"label": "Hackathon",
"options": "Community Hackathon"
},
{
"default": "0",
"fieldname": "accepting_members",
"fieldtype": "Check",
"label": "Accepting Members"
},
{
"fieldname": "likes",
"fieldtype": "Int",
"label": "Likes",
"read_only": 1
},
{
"fieldname": "project_search",
"fieldtype": "Small Text",
"hidden": 1,
"label": "Project Search"
},
{
"fieldname": "column_break_2",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_4",
"fieldtype": "Section Break"
},
{
"fieldname": "section_break_8",
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_11",
"fieldtype": "Column Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-04-20 13:22:17.248521",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Project",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
},
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Participant",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityProject(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityProject(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Project Evaluation', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,169 @@
{
"actions": [],
"autoname": "format:EVAL-{#####}",
"creation": "2021-02-12 19:44:57.467599",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"project",
"status",
"evaluated_by",
"telegram_id",
"column_break_5",
"update",
"section_break_7",
"evaluation_comment",
"overall_rating",
"section_break_10",
"impact_of_project",
"completion",
"quality_of_code",
"quality_of_",
"column_break_15",
"difficulty",
"future_viability",
"total_score"
],
"fields": [
{
"fieldname": "project",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Project",
"options": "Community Project",
"reqd": 1
},
{
"fieldname": "status",
"fieldtype": "Select",
"label": "Status",
"options": "\nPending\nPreliminary\nComplete"
},
{
"fieldname": "evaluated_by",
"fieldtype": "Link",
"label": "Evaluated By",
"options": "User"
},
{
"fieldname": "telegram_id",
"fieldtype": "Small Text",
"label": "Telegram Id"
},
{
"fieldname": "column_break_5",
"fieldtype": "Column Break"
},
{
"fieldname": "update",
"fieldtype": "Small Text",
"in_list_view": 1,
"label": "Update",
"reqd": 1
},
{
"fieldname": "section_break_7",
"fieldtype": "Section Break"
},
{
"fieldname": "evaluation_comment",
"fieldtype": "Small Text",
"label": "Evaluation Comment"
},
{
"fieldname": "overall_rating",
"fieldtype": "Int",
"label": "Overall Rating"
},
{
"fieldname": "section_break_10",
"fieldtype": "Section Break",
"label": "Score"
},
{
"fieldname": "impact_of_project",
"fieldtype": "Int",
"label": "Impact of Project"
},
{
"fieldname": "completion",
"fieldtype": "Int",
"label": "Completion"
},
{
"fieldname": "quality_of_code",
"fieldtype": "Int",
"label": "Quality of Code"
},
{
"fieldname": "quality_of_",
"fieldtype": "Int",
"label": "Quality of Presentation"
},
{
"fieldname": "column_break_15",
"fieldtype": "Column Break"
},
{
"fieldname": "difficulty",
"fieldtype": "Int",
"label": "Difficulty"
},
{
"fieldname": "future_viability",
"fieldtype": "Int",
"label": "Future Viability"
},
{
"fieldname": "total_score",
"fieldtype": "Int",
"label": "Total Score"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 19:56:53.757808",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Project Evaluation",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
},
{
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Participant",
"share": 1,
"write": 1
},
{
"create": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Evaluator",
"share": 1,
"write": 1
}
],
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityProjectEvaluation(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityProjectEvaluation(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Project Like', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,43 @@
{
"actions": [],
"creation": "2021-02-12 18:43:24.206708",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"project"
],
"fields": [
{
"fieldname": "project",
"fieldtype": "Link",
"label": "Project",
"options": "Community Project"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 18:55:51.877522",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Project Like",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityProjectLike(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityProjectLike(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Project Member', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,77 @@
{
"actions": [],
"creation": "2021-02-12 18:36:08.324156",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"project",
"intro",
"status",
"project_owner"
],
"fields": [
{
"fieldname": "project",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Project",
"options": "Community Project",
"reqd": 1
},
{
"fieldname": "intro",
"fieldtype": "Small Text",
"in_list_view": 1,
"label": "Intro",
"reqd": 1
},
{
"default": "Pending",
"fieldname": "status",
"fieldtype": "Select",
"label": "Status",
"options": "Pending\nAccepted\nRejected"
},
{
"fieldname": "project_owner",
"fieldtype": "Data",
"label": "Project Owner",
"options": "Email"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 19:44:09.832170",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Project Member",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
},
{
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Participant",
"share": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
from frappe import _
class CommunityProjectMember(Document):
def validate(self):
self.validate_if_already_member()
def validate_if_already_member(self):
if frappe.get_all("Community Project Member", {"owner": self.owner}):
frappe.throw(_("You have already applied for the membership of this project."))

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityProjectMember(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Project Update', {
// refresh: function(frm) {
// }
});

View File

@@ -0,0 +1,53 @@
{
"actions": [],
"creation": "2021-02-12 18:45:56.750969",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"project",
"update"
],
"fields": [
{
"fieldname": "project",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Project",
"options": "Community Project",
"reqd": 1
},
{
"fieldname": "update",
"fieldtype": "Markdown Editor",
"in_list_view": 1,
"label": "Update",
"reqd": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 19:43:10.886773",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "Community Project Update",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityProjectUpdate(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityProjectUpdate(unittest.TestCase):
pass

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,64 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Send Request",
"client_script": "$('.page-header h2').html(`Request to Join \"${frappe.utils.get_url_arg('project_name')}\"`);",
"creation": "2021-02-17 13:20:08.548735",
"doc_type": "Community Project Member",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-04-14 13:52:46.135536",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "join-request",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "join-request",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/join-request",
"title": "Join Request",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "project",
"fieldtype": "Link",
"hidden": 0,
"label": "Project",
"max_length": 0,
"max_value": 0,
"options": "Community Project",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "intro",
"fieldtype": "Small Text",
"hidden": 0,
"label": "Intro",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
}
]
}

View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,49 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 1,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Save",
"creation": "2021-04-14 13:11:50.606310",
"doc_type": "Community Project",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "<div class=\"ql-editor read-mode\"><p>Add details about your project.</p><p><br></p><p><strong>Note:</strong> If you save this project, you won't be able to join another one. If your teammates have already created the project, join it instead.</p></div>",
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-04-14 13:11:50.606310",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "project",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "edit-project",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/project",
"title": "Project",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldtype": "Attach",
"hidden": 0,
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
]
}

View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,63 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Submit",
"creation": "2021-02-18 13:15:09.464515",
"doc_type": "Community Project Update",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-03-04 19:43:28.957577",
"modified_by": "Administrator",
"module": "Hackathon",
"name": "project-update",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "project-update",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/project-update",
"title": "Project Update",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "project",
"fieldtype": "Link",
"hidden": 0,
"label": "Project",
"max_length": 0,
"max_value": 0,
"options": "Community Project",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "update",
"fieldtype": "Data",
"hidden": 0,
"label": "Update",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
}
]
}

View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass