Coder Social home page Coder Social logo

iste-nitk_website's People

Contributors

aditya-rastogi23 avatar amodhshenoy avatar istenitk avatar m0bi5 avatar

Watchers

 avatar  avatar

iste-nitk_website's Issues

Projects app

Overview

The projects app should contain all the details of past projects(2018-2019) and upcoming projects(2019-2020). Adding project data is the duty of the SIG head and would be done through the Django admin page.

Models

Models will be used to store all data for projects. Use appropriate field types (unless explicitly stated) and field names (refer to naming convention in README.md)

  • Create a model to store project details. The model should contain the following fields:
    • Project ID (primary key, auto generated)
    • Project Name
    • Project Members
    • Project Mentors
    • SIG (Dropdown)
    • Description (make use of Rich Text Field from ckedit - refer to usage in the blogs app)

Make sure to register all models to the admin page - admin.site.register()

Routes and corresponding Views

All routes in this app will already have a prefix projects/. Use the convention mentioned in README.md to store templates of the views. Write 0 CSS, all templates should be pure HTML only and it would extend base.html (use {% extends 'base.html' %} at the start of the template) Update the urls.py within the app to add new routes. The following routes need to be made:

  • / : This will serve as the home route for the projects app. This page will have titles of all the projects sorted based on year first then categorized into SIGs (for example : 2018-SIG P - Project X,Project Y, SIG Q - Project Z ..., 2019-SIG P-Project A,Project B etc). Each project title should be a link, clicking on it should redirect the user to the below route

  • /project_name/ : project_name is the value obtained from the model field. This route will provide all the details of the project. Display all model fields in the template for now.

Events app

Overview

The events app should contain all the details of upcoming events. It should also contain registration forms for each event. Adding event data is the duty of the SIG head and would be done through the Django admin page.

Models

Models will be used to store all data for events. Use appropriate field types (unless explicitly stated) and field names (refer to naming convention in README.md)

  • Create a model to store event details. The model should contain the following fields:
    • Event ID (primary key, auto generated)
    • Name
    • Point of contact 1 : Name
    • Point of contact 1 : Number
    • Point of contact 2 : Name
    • Point of contact 2 : Number
    • Venue
    • Time
    • Date
    • Number of people signed up (auto updated)
    • SIG (dropdown)
    • Description (make use of Rich Text Field from ckedit - refer to usage in the blogs app)
    • Registration link (auto generated)
    • Number of people turned up (auto updated)
    • Poster image
    • Winners
  • Create a model to store registration details of participants, this model should contain the following fields:
    • Event ID (foreign key, auto populated)
    • First name
    • Last name
    • Roll Number
    • Year (dropdown)
    • Contact Number
    • Email
    • Attended the event (dropdown, will be entered by SIG head through admin page)

Make sure to register all models to the admin page - admin.site.register()

Routes and corresponding Views

All routes in this app will already have a prefix events/. Use the convention mentioned in README.md to store templates of the views. Write 0 CSS, all templates should be pure HTML only this would extend base.html (use {% extends 'base.html' %} at the start of the template) Update the urls.py within the app to add new routes. The following routes need to be made:

  • / : This will serve as the home route for the events app. All upcoming events will be displayed here. The corresponding view will have to retrieve objects from the Events database that are at a future date and pass it to the frontend through context. Render event name, poster picture, point of contacts, date, time and venue on the corresponding template for each upcoming event. Also add a view more link that redirects the user to the route given below.

  • /event_id/ : event_id is the value obtained from the model field. This route will provide all the details of the event. Display all model fields in the template for now. Registration link provided should direct the user to the below route

  • /register/ : Should contain a form with all the fields mentioned in the registration model (don't display the first and last fields). The form once POSTed should essentially create a new object of the participant model. The route to be posted can be the same one as this or if you wish to create another route you may do so. The form should contain a Google ReCaptcha field (tutorial). Once the form is submitted, an automatic email should be sent to the participant stating that he/her registered successfully (ask me for this code)

Recruitment App

Overview

The recruitment app will be accessible by potential new recruits and it will be a way for candidates to apply to SIGs within the club.

Models

Models will be used to store all data for applicants. Use appropriate field types (unless explicitly stated) and field names (refer to naming convention in README.md)

  • Create a model to store all applicant details. The model should contain the following fields:

    • Applicant ID (primary key, auto generated. Make sure this is random and not incremental)
    • Name
    • Phone
    • Email
    • Year
  • Create a model to store applicant responses and progress. The model should contain the following fields:

    • Applicant ID (Foreign key)
    • Responses : {'Q1':'A1','Q2':'A2',......} JSON object stored in CharField (would dynamically size up/down as each SIG may have different number of questions)
    • Progress : Would store round number the applicant has successfully qualified
    • Qualified to next round? (Boolean)
    • Next Round Time (DateField) : Would store the time of the next round
    • SIG
  • Create a model to store round description for every SIG (to be filled by SIG heads)

    • SIG
    • Round Number
    • Round description
  • Create a model to store all questions. The questions will be filled by SIG Heads. The model should contain the following fields:

    • Question ID (primary key, auto generated)
    • Question Body
    • SIG (Dropdown to ensure consistency)

Make sure to register all models to the admin page - admin.site.register()

Routes and corresponding Views

All routes in this app will already have a prefix recruitments/. Use the convention mentioned in README.md to store templates of the views. Write 0 CSS, all templates should be pure HTML only and it would extend base.html (use {% extends 'base.html' %} at the start of the template) Update the urls.py within the app to add new routes. The following routes need to be made:

  • / : This will serve as the home route for the recruitment app. This page will have a form that will obtain all information of an applicant. SIGs should be displayed as a check box (as multiple SIGs can be selected). Every SIG will have a set of questions that need to be answered, these need to be dynamically displayed when the applicant selects/unselects the SIG he/she is interested to register for. Make sure this page has a Google reCaptcha (tutorial here). On form submission create an object for the applicant and create objects for all SIGs he/she has applied (in the progress and responses model) , also send an email containing applicant ID and a 4 digit passcode (check AutoBotify helper.py for email sending function, and store this passcode in the recruitment.models.ApplicantPasscode model). In case someone who already applied before attempts to apply for another SIG, make sure to retrieve his/her earlier applicant ID and then do the needful

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.