kgpmask / mask Goto Github PK
View Code? Open in Web Editor NEWThe website for the Manga and Anime Society Kharagpur.
Home Page: https://kgpmask.club
License: Mozilla Public License 2.0
The website for the Manga and Anime Society Kharagpur.
Home Page: https://kgpmask.club
License: Mozilla Public License 2.0
Since @ItsAnkan won't do stuff without the issue present, here goes. Make sure the git-hook branch restrictions allow main to be deployed as well
Preferred: Use '
wherever possible (debatable: allow exceptions for using "
where the string has an apostrophe?), and `
for template literals.
Link: https://eslint.org/docs/latest/rules/quotes
Example config:
"quotes": ["error", "single", { "allowTemplateLiterals": true, "avoidEscape": true }],
This one needs to be done somewhat soon
With Discord webhooks coming for Submissions form in the future, it would be preferable to separate the Discord webhooks from the credentials and tools and store them in new files.
Who knows? We might even add webhooks for polls if needed
Cookies ain't reliable... Gimme some good stuff
For mongoless mode, there are some sample data which we use. Rather than keeping them in the routers, it might be better to keep it in separate JSON files
We need to set-up some tests for pages which have database. Because of that, the posts-update
PR can't be merged. I mean, it can be, but then... error... or false positive?
Make a whole new submissions page without using the Google Forms. We can furthermore add a webhook to Discord or something so it sends a message every time we get a new submission.
Since there are chances of associates becoming governors instead of executives, roll number changes because of DepC, interdisciplinary programmes etc., we need a dedicated edit members page.
On that note, we will also be converting /member-management
into a format similar to that of posts and polls
We need some improvement in the newsletter. December's crossword clues aren't fully visible.
Of course, this isn't even entering responsiveness yet.
If you notice the quiz icon used in the current /members
page, it's the tick Unicode. It's not an SVG saved as a font or something. Therefore, in some instances, the checkmark appears in a different font and, let's just say it's out of place. I wonder who came up with the idea of using the Unicode character in the first place (definitely not me, looks away)
It would be nice to have a page that is shown to the participants before they attempt the quiz
The page may have
Since we have a lot of forms which accept data from the server, we should add validators for the form data to prevent any mishaps
Now that we have so many forms, I think it might be better if we migrated the form CSS to a SASS file rather than how it is
The code of the scripts for crossword and word search is present in every other newsletter njk file. @MokshithPV your task is to make sure you move as much as possible in _newsletter.njk
.
Your work will mostly be in {% block letterjs %}
. You can edit {% block prescript %}
too, but I don't think it's necessary. This task's priority is moderate, since Jai will be working on newsletters soon after you're done.
For a while now, we have been thinking of using this. It's going to be needed in the unlikely event of no mongo (and for external contributor testing)
The current error handler we have only shows error 500 (which is fine for now). However, the page title is 404. We need that fixed
Use the same type of data as the ones used in /art and /videos
Go to our Instagram account, get the images and store them in the assets
folder.
Please don't take a screenshot of the image. You can find the source image if you search properly. Remember to compress it to less than 200kb
Rounding-Off to integers may make them add up to more than 100%.
Solution - Round them off to 1 decimal place
In particular, the posts collection still has problematic entries that lead to overly long entries. Copy the data over from the mask_tech posts collection to the mask_github one instead.
Make it actually detect errors and send a 500, then add a hardcoded route that throws an Error and store this in tests
We can use backticks and single quotes. Wouldn't prefer double quotes for the same. You can configure ESLint to work that way too...
Currently, after passing through Google Auth, we proceed to the home page, irrespective of whether we were on the quizzes page, login page or any other page. We need to edit that so that login redirects to the page they already were using
The second quiz which anyone attempts can be attempted as many times as they want, basically making it an easy cheat for gaining live points. We need to fix that ;-;
Need to change some values and values so that the changed values or variables don't cause the same error as the unchanged values and variables before they were changed into their changed counterparts
(totally not elongating it because I need to meet a word quota)
We do not want lines to end with a space or tab (unless it's a markdown file, where sometimes it's needed).
Find all instances of lines ending with space or tab and remove the spaces/tabs in question
After revisiting the README file, I found out that we have something called pagedesc
(for page descriptions, as the variable name suggests.) Funnily enough, we have barely used it in any of the pages. We should get around to it if we don't want "The MASK website" to appear as the description every time we add our website link to WhatsApp or Discord.
Here's what the beginning of our route.js file looks like right now:
const checkerRouter = require("../routes/checker");
const corsProxyRouter = require("../routes/corsProxy");
const govPortalRouter = require("../routes/govportal");
const gitHookRouter = require("../routes/git-hook");
const homeRouter = require("../routes/home");
const liveRouter = require("../routes/live");
const mediaRouter = require("../routes/media");
const membersRouter = require("../routes/members");
const miscRouter = require("../routes/misc");
const newsletterRouter = require("../routes/newsletter");
const pollRouter = require("../routes/polls");
const profileRouter = require("../routes/profile");
const quizzesRouter = require("../routes/quizzes");
const userRouter = require("../routes/user");
const eventsRouter = require("../routes/py-events");
As you can imagine... that's a lot of stuff. And when we proceed with more branched routes (for instance /gov-portal/poll/add-poll
, the number of routers will just increase...
We need a better way of organizing this. I have an idea which I am open to share
The past newsletters MD file has not been updated since February. Also, the file does not really belong in the templates folder.
Make a new docs folder and save the updated file there.
Not #57
With more and more newsletters coming, the page size changes a lot when you expand a given year's accordion panel (list of months and issues).
Therefore, we need a newer design for the same, preferably using the cover pages if possible.
Add a site-mongoless and site-userless test suite to the /tests folder, and ensure the code passes them successfully.
Widths of 600px to 630px lead to unnatural footer text; can someone tinker with the values so it looks better?
Need to add it, urgent
Many of our GET
requests use something like this.
router.get('/some/path/:id?', (req, res) => {...})
Instead of using req.params.id
, let's use req.query.id
(the new route will be /some/path?id=something)
Should we do this for all GET requests?
Quite a few dependencies which we use are outdated, like axios and mongoose. We should see whether we can upgrade them or let them be
Check process.platform and increase the timeout in tests accordingly
The size of the background image changes with every page. Even in the same page, when DOM elements are added/removed/modified, the background image size changes. Some CSS fixing is needed in this one
Hi,
Found error on attempting static quiz
got this error on the console:
[
{
points: 0,
_id: new ObjectId("63d256b5d5ad02d4834cd0f7"),
'2022-03-13': { score: 1, time: 1670007950023 }
}
]
[
{
points: 0,
_id: new ObjectId("63d256bad5ad02d4834cd101"),
'2022-03-13': { score: 1, time: 1670007950023 }
}
]
D:\Downloads\DarKSkuLL\MASK\node_modules\mongoose\lib\document.js:3097
de:internal/process/task_queues:77:11) {
errors: { 'quizData.0.quizId': ValidatorError: Path `quizId` is required.
at validate (D:\Downloads\DarKSkuLL\MASK\node_modules\mongoose\lib\schematype.js:1346:13)
at SchemaType.doValidate (D:\Downloads\DarKSkuLL\MASK\node_modules\mongoose\lib\schematype.js:1330:7) at D:\Downloads\DarKSkuLL\MASK\node_modules\mongoose\lib\document.js:2877:18 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { properties: {
validator: [Function (anonymous)], message: 'Path `quizId` is required.', type: 'required',
path: 'quizId', value: undefined },
kind: 'required',
path: 'quizId',
value: undefined,
reason: undefined,
[Symbol(mongoose:validatorError)]: true
}
},
_message: 'UserQuizData validation failed'
}
Imagine saying 'typographical error' in this day and age...
Tests run in mongoless
always. Two-step fix: first, fix the actual issue. Then add tests to confirm that they've been correctly fixed.
Similar to the issue solved in #170, there is no margin over here at the end of the results. Similarly, we don't have a margin at the end of the poll-list as well. Get it fixed onegai :)
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.