From 518d156a1e2aa4cec24b9e3d31257790e0959655 Mon Sep 17 00:00:00 2001 From: Zlash65 Date: Mon, 2 Apr 2018 19:05:42 +0530 Subject: [PATCH] webpages created for esoc --- .../apply_for_esoc/apply_for_esoc.json | 21 +- foundation/www/esoc/__init__.py | 0 foundation/www/esoc/get-started.html | 62 +++ foundation/www/esoc/index.css | 449 ++++++++++++++++++ foundation/www/esoc/index.html | 152 ++++++ foundation/www/esoc/index.js | 32 ++ foundation/www/esoc/index.py | 2 + foundation/www/esoc/terms-and-rules.html | 92 ++++ 8 files changed, 790 insertions(+), 20 deletions(-) create mode 100644 foundation/www/esoc/__init__.py create mode 100644 foundation/www/esoc/get-started.html create mode 100644 foundation/www/esoc/index.css create mode 100644 foundation/www/esoc/index.html create mode 100644 foundation/www/esoc/index.js create mode 100644 foundation/www/esoc/index.py create mode 100644 foundation/www/esoc/terms-and-rules.html diff --git a/foundation/erpnext_foundation/web_form/apply_for_esoc/apply_for_esoc.json b/foundation/erpnext_foundation/web_form/apply_for_esoc/apply_for_esoc.json index 826184f1..b29158e6 100644 --- a/foundation/erpnext_foundation/web_form/apply_for_esoc/apply_for_esoc.json +++ b/foundation/erpnext_foundation/web_form/apply_for_esoc/apply_for_esoc.json @@ -18,7 +18,7 @@ "is_standard": 1, "login_required": 0, "max_attachment_size": 0, - "modified": "2018-04-02 19:02:37.665216", + "modified": "2018-04-03 11:26:06.421781", "modified_by": "Administrator", "module": "ERPNext Foundation", "name": "apply-for-esoc", @@ -238,25 +238,6 @@ "read_only": 0, "reqd": 0 }, - { - "fieldname": "", - "fieldtype": "Column Break", - "hidden": 0, - "max_length": 0, - "max_value": 0, - "read_only": 0, - "reqd": 0 - }, - { - "fieldname": "noc", - "fieldtype": "Attach", - "hidden": 0, - "label": "NOC", - "max_length": 0, - "max_value": 0, - "read_only": 0, - "reqd": 0 - }, { "fieldname": "", "fieldtype": "Section Break", diff --git a/foundation/www/esoc/__init__.py b/foundation/www/esoc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/foundation/www/esoc/get-started.html b/foundation/www/esoc/get-started.html new file mode 100644 index 00000000..1e9cc4ff --- /dev/null +++ b/foundation/www/esoc/get-started.html @@ -0,0 +1,62 @@ +{% extends base_template_path %} +{% block hero %}{% endblock %} +{% block content %} + + + +
+

Get Started

+

Spend your summer break writing code for an open source software project!

+ +
+
+
+
+

Prerequisites

+
+ +
+
    +
  1. Must be at least 18 years old at time of registration.
  2. +
  3. Must be enrolled in or accepted into an accredited institution + including (but not necessarily limited to) colleges, universities, + masters programs, PhD programs and undergraduate programs as of + the ESoC Student Acceptance Date (April 23, 2018). +
  4. +
+
+ + + +
+
+ +
+ +
+
+
+

How to apply ?

+
+
+
    +
  1. Registrations opens on April 1st and will stay open till April 14th.
  2. +
  3. Eligible students must obtain NOCs from their respective institutions.
  4. +
  5. Select the projects you’d like to work on and propose a solution for it.
  6. +
  7. Make sure you go through Terms & Rules + to avoid confusion later. +
  8. +
  9. Send in your application!
  10. +
+
+ +
+
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/foundation/www/esoc/index.css b/foundation/www/esoc/index.css new file mode 100644 index 00000000..54732a79 --- /dev/null +++ b/foundation/www/esoc/index.css @@ -0,0 +1,449 @@ +/* ----- general utilities ----- */ +*, +*::before, +*::after { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-left { + text-align: left; +} + +.border-top { + border-top: 1px solid #d1d8dd; +} + +.border-top-light { + border-top: 1px solid #ebeff2; +} + +.header-1 { + font-size: 2.5rem; + line-height: 1.025; +} + +.text-light { + color: #6c7680; +} + +.text-muted { + color: #8d99a6; +} + +.gray-bg { + background-color: #fafbfc; +} + +.text-medium { + font-size: 1.5rem; +} + +.bottom-spacer { + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} + +.bold { + font-weight: bold; +} + +.clearfix { + clear: both; +} + +/* -------- BUTTON UTIL -------- */ +.button { + padding: 1rem 1.5rem; + border-radius: 0.25em; + cursor: pointer; + transition: all 0.3s ease-out; + border-bottom: 3px solid rgba(0, 0, 0, 0.2); + text-decoration: none; +} + +.button:hover { + text-decoration: none; +} + +.button-primary { + font-size: 1.5em; + color: #fff; + background: #7575ff; + border-right: 0; + border-left: 0; + border-top: 0; + line-height: 3; +} + +.button-primary:hover { + background: #5e5ec9; + color: #fff; +} + +.button-primary-small { + color: #fff; + background: #7575ff; + border-right: 0; + border-left: 0; + border-top: 0; + padding: 0.45rem 1rem; + display: inline-block; +} + +.button-primary-small:hover { + background: #5e5ec9; + color: #fff; +} + +.button-secondary-small { + color: #6c7680; + background: #f0f4f7; + border-right: 0; + border-left: 0; + border-top: 0; + padding: 0.45rem 1rem; +} + +.button-secondary-small:hover { + background: #d1d8dd; + color: #2e3338; +} + +/* ------ BOOTSTRAP GRID ------ */ +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.row { + margin-right: -15px; + margin-left: -15px; +} + +.col-sm-1, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-7 { + position: relative; + min-height: 1px; + padding-right: 10px; + padding-left: 10px; +} + +@media (min-width: 768px) { + .col-sm-1, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-7 { + float: left; + } + + .col-sm-1 { + width: 8.33333333%; + } + + .col-sm-3 { + width: 25%; + } + + .col-sm-4 { + width: 33.33333333%; + } + + .col-sm-5 { + width: 41.66666667%; + } + + .col-sm-7 { + width: 58.33333333%; + } +} + +/* ---------- General ---------- */ +.intro { + font-size: 1.2em; +} + +ul, ol{ + padding-left: 20px; +} + +/* ----------- INDEX ----------- */ +.container { + width: 80%; + max-width: 1200px; + margin: 0 auto; + /* text-align: center; */ +} + +.tiny-content { + margin-bottom: 40px; + font-size: 15px; +} + +.team-description img { + border-radius: 3px; + width: 100%; + padding-bottom: 0.5rem; +} + +.team-description { + text-align: center; + margin-top: 30px; + margin-bottom: 20px; +} + +.team-description a { + text-decoration: none; +} + +.box { + padding: 1.5rem; + border: 1px solid #d1d8dd; + border-radius: 0.25em; + transition: background-color 0.3s ease-out; +} + +.box:hover { + color: #000 !important; + background-color: #fafbfc; + cursor: pointer; + text-decoration: none; +} + +.grid-of-four { + grid-gap: 2.5rem; + display: grid; + grid-template-columns: repeat(1, 1fr); +} + +.align-list { + width: 70%; + font-size: 1.2rem; + margin-left:auto; + margin-right:auto; +} + +@media screen and (min-width: 500px) { + .grid-of-four { + grid-template-columns: repeat(2, 1fr); + } +} +@media screen and (min-width: 767px) { + .grid-of-four { + grid-template-columns: repeat(3, 1fr); + } +} +@media screen and (min-width: 991px) { + .grid-of-four { + grid-template-columns: repeat(4, 1fr); + } +} + +/* ------- Terms & Rules ------- */ +.list-points .inner-ul { + list-style: none; +} + +.list-points .inner-ul li:before { + content: "\2192"; + color: #000; +} + +/* --------- Timeline --------- */ +.timeline ul { + padding: 10px 0; +} + +.timeline ul li { + list-style-type: none; + position: relative; + width: 4px; + background-color: #d1d8dd; + margin: 0 auto; + padding-top: 35px; +} + +.timeline ul li::after { + content: ''; + position: absolute; + color: #d1d8dd; + left: 50%; + bottom: 0; + transform: translateX(-50%) translateY(-60%); + width: 15px; + height: 15px; + border-radius: 50%; + background: inherit; +} + +.timeline ul li div { + position: relative; + bottom: 0; + width: 400px; + padding: 15px; + color: #000; + background: #fff; + border-style: solid; + border-color: #d1d8dd; + border-radius: 1rem; +} + +.timeline ul li div::before { + content: ''; + color: #d1d8dd; + position: absolute; + bottom: 7px; + width: 0; + height: 0; + border-style: solid; +} + +.timeline ul li:nth-child(odd) div { + left: 45px; +} + +.timeline ul li:nth-child(odd) div::before { + left: -16px; + border-width: 8px 16px 8px 0; + border-color: transparent #d1d8dd transparent transparent; +} + +.timeline ul li:nth-child(even) div { + left: -439px; +} + +.timeline ul li:nth-child(even) div::before { + right: -16px; + border-width: 8px 0 8px 16px; + border-color: transparent transparent transparent #d1d8dd; +} + +time { + display: block; + font-size: 1.2rem; + font-weight: bold; + margin-bottom: 8px; +} + +/* Timeline Effects */ +.timeline ul li::after { + transition: background .5s ease-in-out; +} + +.timeline ul li.in-view::after { + background: #8D99A6; +} + +.timeline ul li div { + visibility: hidden; + opacity: 0; + transition: all .5s ease-in-out; +} + +.timeline ul li:nth-child(odd) div { + transform: translate3d(200px, 0, 0); +} + +.timeline ul li:nth-child(even) div { + transform: translate3d(-200px, 0, 0); +} + +.timeline ul li.in-view div { + transform: none; + visibility: visible; + opacity: 1; +} + +/* general media queries */ +@media screen and (max-width: 900px) { + .timeline ul li div { + width: 250px; + } + .timeline ul li:nth-child(even) div { + left: -289px; + /*250+45-6*/ + } +} + +@media screen and (max-width: 600px) { + .timeline ul li { + margin-left: 20px; + } + .timeline ul li div { + width: calc(100vw - 91px); + } + .timeline ul li:nth-child(even) div { + left: 45px; + } + .timeline ul li:nth-child(even) div::before { + left: -15px; + border-width: 8px 16px 8px 0; + border-color: transparent #d1d8dd transparent transparent; + } +} + +/* ------ section-padding ------ */ +.section-padding { + padding: 2.5rem 1rem; +} +@media screen and (min-width: 767px) { + .section-padding { + padding: 6.5rem 1.5rem; + } +} + +.help-padding h1 { + font-weight: 400; +} +.help-padding { + padding: 1rem 4rem !important; +} +@media screen and (min-width: 767px) { + .help-padding { + padding: 3rem 8rem !important; + } +} + +.column-padding { + line-height: 2; + padding: 1rem 0rem !important; + font-size: 1rem; +} +@media screen and (min-width: 767px) { + .column-padding { + padding: 2rem 0rem !important; + } +} + +.term-padding { + line-height: 2.5; + padding: 1rem 4rem !important; + font-size: 1em; +} +@media screen and (min-width: 767px) { + .term-padding { + padding: 3rem 10rem !important; + } +} + +.why-apply-padding { + line-height: 2.5; + padding: 1rem 2rem !important; + font-size: 1em; +} +@media screen and (min-width: 767px) { + .why-apply-padding { + padding: 3rem 6rem !important; + } +} +/* ----------------------------- */ \ No newline at end of file diff --git a/foundation/www/esoc/index.html b/foundation/www/esoc/index.html new file mode 100644 index 00000000..150d55b5 --- /dev/null +++ b/foundation/www/esoc/index.html @@ -0,0 +1,152 @@ +{% extends base_template_path %} +{% block title %}ERPNext Summer of Code{% endblock %} +{% block hero %}{% endblock %} +{% block content %} + + +
+
+

ERPNext Summer of Code

+

+ ERPNext Summer of Code is an initiative by the ERPNext Foundation, in similar lines to Google Summer of Code (GSoC) to help bring more young and budding developers in to the world of Open Source Software development. + Students will spend 3 months of their summer time working with ERPNext and contributing to open source development, all while earning a stipend! + ERPNext is the world’s top fully open source ERP system made by Frappe Technologies and backed by the ERPNext Foundation. +

+ Get Started +
+
+ +
+
+
+

Timeline

+
+
+ +
+
    +
  • +
    + Student Applications Open

    + Students Apply Now +
    +
  • + +
  • +
    + Student Applications Deadline +
    +
  • + +
  • +
    + Application Evaluation by Mentors +
    +
  • + +
  • +
    + Student Projects Announcement +
    +
  • + +
  • +
    + Know Your Community +
    +
  • + +
  • +
    + Coding begins +
    +
  • + +
  • +
    + Evaluations Round 1 +
    +
  • + +
  • +
    + Evaluations Round 2 +
    +
  • + +
  • +
    + Code Submissions and Final Evaluations +
    +
  • + +
  • +
    + Mentors Submit Final Evaluation +
    +
  • + +
  • +
    + Results Announced +
    +
  • +
+
+
+ +
+
+

Projects

+

+ Build Open Source Mobile Apps based on Ionic Framework. +

+ + +
+
+ +
+
+

Why Apply?

+
+
    +
  • + Get experience working on real life projects. +
  • +
  • + Get mentored by some of the top developers in India. +
  • +
  • + Be a part of Open Source Communities. +
  • +
  • + Build your resume and increase your chances of getting a job. +
  • +
  • + Did not get into GSOC, don't worry, you will get a better experience here. +
  • +
  • + Earn a stipend of Rs 20,000 per month, on completing your tasks. +
  • +
+
+ +
+
+{% endblock %} diff --git a/foundation/www/esoc/index.js b/foundation/www/esoc/index.js new file mode 100644 index 00000000..44cef085 --- /dev/null +++ b/foundation/www/esoc/index.js @@ -0,0 +1,32 @@ +(function($) { + + 'use strict'; + + // define variables + var items = document.querySelectorAll(".timeline li"); + + // check if an element is in viewport + function isElementInViewport(el) { + var rect = el.getBoundingClientRect(); + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + rect.right <= (window.innerWidth || document.documentElement.clientWidth) + ); + } + + function callbackFunc() { + for (var i = 0; i < items.length; i++) { + if (isElementInViewport(items[i])) { + items[i].classList.add("in-view"); + } + } + } + + // listen for events + window.addEventListener("load", callbackFunc); + window.addEventListener("resize", callbackFunc); + window.addEventListener("scroll", callbackFunc); + +})(); \ No newline at end of file diff --git a/foundation/www/esoc/index.py b/foundation/www/esoc/index.py new file mode 100644 index 00000000..ba8cb4ad --- /dev/null +++ b/foundation/www/esoc/index.py @@ -0,0 +1,2 @@ +def get_context(context): + pass \ No newline at end of file diff --git a/foundation/www/esoc/terms-and-rules.html b/foundation/www/esoc/terms-and-rules.html new file mode 100644 index 00000000..ec16c021 --- /dev/null +++ b/foundation/www/esoc/terms-and-rules.html @@ -0,0 +1,92 @@ +{% extends base_template_path %} +{% block hero %}{% endblock %} +{% block content %} + +
+
+
+
+

Terms & Rules

+
+
+
    + +
  1. Frappe/ERPNext will have full authority of what you create.
  2. + +
  3. The licensing will be determined by Frappe/ERPNext.
  4. + +
  5. Indemnities: You will indemnify Frappe/ERPNext + and its affiliates, directors and employees against all liabilities, + damages, losses, costs, fees (including legal fees), and expenses + relating to any allegation or third-party legal proceeding to + the extent arising from: +
      +
    • Your acts or omissions related to applying for and participating in the Program
    • +
    • Your Submissions violating any rights of any other person or entity or any obligation you may have with them.
    • +
    +
  6. + +
  7. Not an Offer or Contract of Employment +
      +
    • You acknowledge that your participation in the Program is voluntary.
    • +
    • You acknowledge that no confidential, fiduciary, agency or other + relationship or implied-in-fact contract now exists between you and + Frappe/ERPNext or the Organizations and that no such relationship is + established by your Submissions to the Program. +
    • +
    • You understand and agree that nothing in this Agreement may be construed + as an offer or contract of employment with either Frappe/ERPNext or any Organization. +
    • +
    +
  8. + +
  9. Stipends: Frappe/ERPNext is not required to pay any stipends + to you if you breach this Agreement. +
  10. + +
  11. You understand and agree that nothing in this Agreement may be construed as an offer + or contract of employment with either Frappe/ERPNext or any Organization. + +
      +
    • Assignment: You may not assign this Agreement or any part + of it without Frappe/ERPNext’s prior written consent. Frappe/ERPNext may assign + this Agreement or any part of it upon notification, which may be posted on the + Program Website or sent to the contact information you provided upon registration. +
    • +
    • No Waiver: Neither party will be treated as having waived + any rights by not exercising (or delaying the exercise of) any rights under + this Agreement. +
    • +
    • No Agency: This Agreement does not create any agency, + partnership, or joint venture between the parties. +
    • +
    • No Third-Party Beneficiaries This Agreement does not + confer any benefits on any third party unless it expressly states that it does. +
    • +
    • Amendments: Except as set forth in the Program Rules, + any amendment must be in writing, signed by both parties, and expressly + state that it is amending this Agreement. +
    • +
    • Entire Agreement: This Agreement sets out all terms agreed + between the parties and supersedes all other agreements between the parties + relating to its subject matter. In entering into this Agreement neither party + has relied on, and neither party will have any right or remedy based on, any + statement, representation or warranty (whether made negligently or innocently), + except those expressly set out in this Agreement. +
    • +
    • Severability: If any term (or part of a term) of this + Agreement is invalid, illegal or unenforceable, the rest of the Agreement + will remain in effect. +
    • +
    • Translations In the event of any discrepancy between the + English version of this Agreement and a translated version, the English + version will govern. +
    • +
    +
  12. +
+
+
+
+
+{% endblock %} \ No newline at end of file