swd-bits-goa / swd_django Goto Github PK
View Code? Open in Web Editor NEWOfficial Website of SWD BITS Goa
Home Page: https://swd.bits-goa.ac.in/
License: MIT License
Official Website of SWD BITS Goa
Home Page: https://swd.bits-goa.ac.in/
License: MIT License
Emails should be sent asynchronously, as connection to the SMTP server takes time, and can hence hang the window.
Profile Page to Made in React JS. It also needs to be connected to GraphQL.
Components - Aryan
GaphQL - Gaurav
As discussed, we don't have access to SWD on our local networks. This calls for a need in having auto-updation of code on the server and restarting it, whenever there is a new commit in production
branch. There are various ways to go about this:
Using Webhooks: Using github webhooks, we can start a script on the server whenever there is a commit in the production branch. There is a bit of difficulty in implementing this, as webhooks require a public-facing domain. We can request CC to provide us a domain say swd1.bits-goa.ac.in
(not sure how long the process for this will be). A workaround can be to use ngrok for creating a tunnel.
Run a cron job, which checks every hour, whether there is a code update (using git fetch). But this will be a slow update.
As @adiasg suggested, create a hashed url, which if hit runs a script to pull the code. This seems to be the best way to do as of now.
Please comment with your suggestions.
When the Profile option is clicked inside the sidebar while the user is logged out the user must be redirected to the login page but currently its going to a blank page.
At present, master
branch only has the facility to import Users and students. Design a script to import complete data.
Types of objects created:
For visual appeal
This is because there is a chance that there might be duplicate leaves, which the SWD manually seeds out.
SWD has asked for a specific change, which I am not very sure of how exactly to implement:
Some of the words/phrases in the body of Bonafide has to be italic in order to highlight them.
I have two ideas of implementing this feature:
Create our minor version of templating. Say my name, Sebastin
has to be italicized, then using some string literals around it we can parse and get to know that this has to be italicized. Eg. ((( Sebastin )))
will make my name italicized by replacing (((
and )))
with <i>
and </i>
respectively.
Use a Rich Text Editor like django-tinymce
to put the body of the text.
The former idea is what I feel is best adapted to this situation. @sarthakag Any comments?
SSA
Make Logged In page for mobile using React. Add graphQL queries to insert data to props.
Currently, this mutation take Mess choice and Date as arguments. Date should not be taken for security reasons as the client-side clock can be easily fooled. Any particular user should only be able to provide mutations for the current month.
Also, the response payload comes with an ID on successful mutation. What is the significance of this?
Do we need to include an explicit 'success' boolean to make client-side processing easier?
CDNs use internet to download the resources required. A person accessing SWD might not be logged into internet.
How should data be shared among the development team? At present, the user data is lying in the tooling scripts. DB is huge with 1000000 lines of records. Having all of them pushed/pulled from github obviously isn't feasible.
Also, we should probably discuss how to make the codebase open source. Having data is a compromise in that case.
On reloading the page after submitting an application for leave and bonafide, the form is submitted again creating extra entry
Currently the appbar has color that doesn't match the discussed color scheme.
The Search window is also while being rich in functionality is not good looking.
Color correction in whole app to be done.
Depending on the leaves a student has taken, the mess charges for those particular days shouldn't be deducted from the students. This is calculated every month after taking into account all the approved leaves the student has taken.
Some common Django operations lead to the generation of extraneous files. (perhaps metadata)
These files need to be added to .gitignore. For example,
It has been strictly advised to not store the passwords on the server, due to previous db compromises.
We need to design a Custom Auth Backend which will query LDAP everytime someone is trying to login.
easy_pdf is very tedious to install on server. Moreover it is not very enthusiastically maintained, hence support/enhancements can cease in future. Also, there are no other libraries which are good for pdf creation.
At present, there is no information about the errors being passed to the frontend, as to what is wrong with the form entry.
There are some requirements to send emails like if the leave is approved. Also this is done on the warden side, to let them know that there is a leave waiting for approval.
At present, this is one extra step that has to be done from the admin. Also, possibility of removing faculty field can be discussed, as no faculty other than wardens use SWD.
The initial page is good, where DayPass and Leave Applications list are shown together. But when clicking the specific student for say, Leave, it should only show Leave Dashboard and not the other one.
The implementation will be similar to how Leave is done.
Due to non-guarantee of internet when accessing SWD, Public Certification Authorities don't work properly.
Explore setting up HTTPS using LetsEncrypt and Certbot
At present, there is no provision to upload images of students.
The image urls should be secure and visible to only logged in users.
Currently, all the mess choices for a user are being stored. This causes a GraphQL error when we send the current messoption query for the logged-in user as more than one MessOptionType objects are being returned at once. The Graphene code for this query needs to be corrected in either of the two ways:
Either way, inspiration can be taken from views.py.
Some settings are different in a localhost server and production code. These include but are not limited to:
Some of these have already been implement in the production
branch. But it is hardcoded. It should be implemented in such a way that pull the github code on production or locally should work seamlessly without any hassles (an initial setup of environment variables is okay)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.