P.S Its easy is a website to cater to all your PS allotment needs

Overview
BITS Pilani

P.S. It's Easy

All-in-one Web App for all your Practice School Allotment needs!

Note: Developers trying to fork and test. Please wait, we'll set up a test branch in a few days thats immediately ready to be worked on. This branch consists of hidden creds you may require

About

A Web Application to display, browse and filter Practice School Stations and it's Chronicles over the past year with CG cutoff analytics in a easy to use web interface. There is also access to the latest Project Bank and the provision to download CSV to rearrange and update your preferences at PSD website with the PS Companion Extension!

Checkout our blog here to know about all the features, tech stack and the story behind this! :)

How to use?

  • Go to the website psitseasy.ml, and log in with BITS mail ID only. (We had to use Google log in as we letting Allotment details of students on the open internet dint seem like the best idea, so its only to identify user as a BITSian, we don't take any other information)
  • After Logging in you would be able to see different tabs in the Nav Bar. You can click and explore each on of them! For more details in each page checkout the Features section below.

Features and Screenshots

  • Home Page

    • Login with BITS mail only Home
  • Project Bank (Currently has latest PS2 Sem 1 2021 Details)

    • Here you will be able to view and the PS-2 Sem 1 2021 Stations and their Projects. This will be updated at each PS cycle to the one thats currently going on. We currently have PS2 Sem 1 2021 Station Details which is being updated regularly.
    • You can apply filters like domain, stipend, branch and also search the name and location of the Station.
    • In each Station you can see all its details when you click on the dropdown.
    • You also get 2 buttons to checkout the previous year's chronicles and responses of the same station if available.
    • There is also a Download CSV button with which you can download all the Station Details. Then you can rearrange these stations by moving the rows according to your preferences and then you can upload it in the PSD website with the PS Companion Chrome Extension which is also built and maintained by us. So we will make sure both of these are compatible with each other all the time! Project Bank
  • PS-1 Responses

    • Here you can see the latest 2021 allotments which was properly collected by us this time.
    • There are over 1100 responses in this.
    • Currently there is only 2021 stats. We will try to add more previous years stats to it before the next PS-1 in the summer starts PS-1 Responses
  • PS-2 Responses

    • Here you can see the stats from the last 4 years PS-2 Sem 1 Responses.
    • You can use filters for year, cgpa and search for station names.
    • You can zoom and move inside the box plot.
    • When you hover over a station the details will come up on the right.
    • You will also get a Checkout it's chronicles button which will take you to the chronicles of that specific station if available.
    • In the next few months we will also add Sem 2 stats as well. PS-2 Responses
  • PS-2 Chronicles

    • Here you can see the chronicles of the past 4 years PS-2 Sem 1.
    • You can search for stations and view the different years drop downs and each dropdown be able to see the name of the student in the PS station.
    • Once you click on the name you can see the whole chronicle on the left.
    • There is also a Checkout it's responses button which takes you to the responses page of that specific station.
    • We will expand it to accomodate Sem 2 chronicles as well in the near future. PS-2 Chronicles

Disclaimer

  • The data used in the box plots were crowdsourced from the previous year's google forms responses and thus it doesn't account for every student's entry.
  • Aggregation of Station names and connection between the chronicles and responses is done using fuzzy techniques, so please be aware of the names.
  • Since the PS forms before this year had field where students had to fill the station names, the names varied so much with each entry and we spent a lot of time to clean automatically and manually. However the names in chronicles page and responses page might be different a bit. So sometimes fuzzy might not pick it up. So we recommend you search all the possible combinations of the station name like full form/ short form etc. This most probably won't be a problem cause we took enough care. But still its a disclaimer.

Contribute

  • We do need volunteers to help maintain this project over the years, as it needs data to be fed in every 6 months as the new PS cycle commences, thus we welcome contributors that can help in the same.
  • If this project helped you or your friends please consider contributing.
  • If you have ideas for new features or any feedback, feel free to let us know.

For Project Contributors

Start Server

docker run --rm -d --name ps-its-easy --network <some-network> -v <absolute-path-to-this-repo>:/root rust:alpine /bin/sh ~/entrypoint.sh
Note: Alternatively, you can expose the port instead of using --network, if you don't have a reverse proxy

For enabling ssh access to the container:

  1. Change the public key in .ssh/authorized_keys, you can generate new ones by using ssh-keygen -f filename -t ecdsa on any linux system
  2. If you don't have a reverse proxy, you should expose and map the port 22 of the container to the host using -p in the docker run command
  3. ssh using ssh <path-to-private-key> root@<host-path> -p <port-mapped-in-host>
  4. You have nano and git there for small file changes. Please only use ./restart.sh in the home directory to restart the server Note: If you are a new contributor to the official site at psitseasy.ml, please get the ssh keys from another maintainer

Made with <3 by Tan and Jonny

You might also like...

A quick and powerful plugin for your pull-to-refresh needs in your webapp.

A quick and powerful plugin for your pull-to-refresh needs in your webapp.

PulltoRefresh.js • Demos A small, but powerful Javascript library crafted to power your webapp's pull to refresh feature. No markup needed, highly cus

Jan 6, 2023

This package is an open source extension for MikroORM, which enables Nested Set Tree for your needs

MikroORM nested set This package is an open source extension for MikroORM, which enables Nested Set Tree for your needs Disclaimer For now, this packa

Dec 15, 2022

To-do list" is an app that helps to organize your day. the user simply lists the things that needs to done and the app allows the to mark them as complete when they are done. Made with webpack, JavaScript ES6 , HTML 5 and CSS 3.

Todo-list project This is a Microverse project that entails a to-do-list. Built With HTML CSS Javascript Webpack VS code Live Demo (if available) Live

Aug 3, 2022

🔐 w3auth - Integrate w3auth for your identity needs

🔐 w3auth -  Integrate w3auth for your identity needs

w3auth w3auth app allows access to JWTs and refresh cookies. Provide admins with the ability to limit access by allowlist, NFT gating, and token gatin

Oct 30, 2022

This tool allows you to draw up plans for facilities from Foxhole's new Inferno update. It takes power and resource needs into account to help you efficiently design your facilities.

This tool allows you to draw up plans for facilities from Foxhole's new Inferno update. It takes power and resource needs into account to help you efficiently design your facilities.

Foxhole Facility Planner This tool allows you to draw up plans for facilities from Foxhole's new Inferno update. It takes power and resource needs int

Dec 23, 2022

An itty library to handle common time-related things for your API needs.

An itty library to handle common time-related things for your API needs.

Tiny (~500 bytes) time math library for making date handling and TTLs within your APIs beautiful. Features Tiny @ ~500 bytes gzipped total, and tree-s

Jan 2, 2023

A nuxt 2 wrapper around derrickreimer/fathom-client to be able to use usefathom.com in all its glory

A nuxt 2 wrapper around derrickreimer/fathom-client to be able to use usefathom.com in all its glory

This package is a nuxt 2 wrapper around derrickreimer/fathom-client to be able to use usefathom.com in all its glory. Thanks to @derrickreimer for this framework agnostic library ❤️‍🔥.

Aug 18, 2022

📜 Sharable eslint configuration rimac technology uses in all of its projects.

Eslint Config Usage Install the library as a dev dependency alongside required dependencies using yarn add -D @rimac-technology/eslint-config

Nov 23, 2022
Comments
  • Create backend routes and setup DB for PS2 Sem1 '21 station allotment

    Create backend routes and setup DB for PS2 Sem1 '21 station allotment

    • Create 2 new DBs for this sem which will have dynamic read and write
    • 1st DB for classical sheet generation:

    | Email | ID | Name | CGPA | Station Allotted | | --- | --- | --- | --- | --- | | [email protected] | 2018AAPS0460H | Jonny | 6.69 | Cement Factory |

    • 2nd DB for CGPA collection like our other response DBs

    [ { Name : "Cement Factory", 2021 : [6.69] } ]

    • Create 3 routes
    • 1st route to tell if the User has already entered the details before and to give them if he has
    • 2nd route to dynamically give the lastest data to the response pages to be displayed as bar graph
    • 3rd route is a post route to get a user's input and create new docs in both the DBs.
    enhancement 
    opened by Joe2k 1
  • Create Frontend pages for PS2 Sem1 '21 station allotment

    Create Frontend pages for PS2 Sem1 '21 station allotment

    • Create 2 frontend pages
    • 1st page for form submission with cgpa, id, station alloted
    • 2nd page to display bar graph with live data along with the regular yearly CSV file download
    enhancement 
    opened by Joe2k 1
Owner
Tanya Prasad
Exploration||GSoC'21|| CS Major|| 2023||
Tanya Prasad
All the Fake Data for All Your Real Needs 🙂

All the Fake Data for All Your Real Needs ?? Run it on Stackblitz Installation npm i @ngneat/falso yarn add @ngneat/falso Methods rand<T>(arr: T[]):

ngneat 2.8k Dec 29, 2022
It's a repository to studies. Its idea is to learn about Nx and its plugins.

StudyingNx This project was generated using Nx. ?? Smart, Fast and Extensible Build System Adding capabilities to your workspace Nx supports many plug

Open-ish 4 May 13, 2022
Can see everything, beware of its omniscience, kneel before its greatness.

Can see everything, beware of its omniscience, kneel before its greatness. Summary Presentation Installation Removing Credits Presentation Main goal T

Duc Justin 3 Sep 30, 2022
An easy to implement marquee JQuery plugin with pause on hover support. I know its easy because even I can use it.

Simple-Marquee Copyright (C) 2016 Fabian Valle An easy to implement marquee plugin. I know its easy because even I can use it. Forked from: https://gi

null 16 Aug 29, 2022
Short JavaScript code snippets for all your development needs

30 seconds of code Short JavaScript code snippets for all your development needs Visit our website to view our snippet collection. Use the Search page

30 seconds 106.1k Dec 30, 2022
Short CSS code snippets for all your development needs

30 seconds of CSS Short CSS code snippets for all your development needs Visit our website to view our snippet collection. Use the Search page to find

30 seconds 15.9k Jan 3, 2023
Short JavaScript code snippets for all your development needs

30 seconds of code Short JavaScript code snippets for all your development needs Visit our website to view our snippet collection. Use the Search page

30 seconds of code 106.1k Dec 28, 2022
📜 A tiny custom element for all your scrollytelling needs!

<scroll-scene> element A tiny custom element for all your scrollytelling needs! The successor to @newswire/scroller. Key features ?? Less than 700 byt

Ryan Murphy 17 Dec 6, 2022
"Math magicians" is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to make simple calculations and read random math-related quotes. Its built using react

Math Magician "Math magicians" is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to make simple calculations a

Charles Gobina 5 Feb 23, 2022
Flight is a universal package manager for your needs, no matter what language you may want to write your code in.

Flight Swift, reliable, multi-language package manager. ⚡ Installation We don't have an official release of Flight yet, however, if you would like to

null 26 Dec 25, 2022