communityofcoders / cocwebsite Goto Github PK
View Code? Open in Web Editor NEWThe official website of Community Of Coders, VJTI.
Home Page: https://www.communityofcoders.in
License: GNU General Public License v3.0
The official website of Community Of Coders, VJTI.
Home Page: https://www.communityofcoders.in
License: GNU General Public License v3.0
We should update the README now. The changes could involve a better title, some information about CoC, and details about client
and new_client
.
I have observed that for a logged out user, the default option shown for auth is "Logout", even though the user has no auth token. The reason is the line 14 shown below. It checks localStorage.get('token')
for an empty string. It should instead check if it's null
COCWebsite/new_client/src/reducers/authReducer.js
Lines 12 to 18 in 9a8cc70
This might be the same issue as the one mentioned at the end of this comment
The below function counts the number of registered users for a given event. However, there is no field users
in the event object. The correct field is registeredUsers
. Same needs to be changed in the controllers as well
AddEvent
in it.Caveats:
If a user wishes to close modal, they should be warned that modal close will discard all data.
Steps to reproduce the issue
After opening the website when we click on the inspect element and resize the screen to the different dimensions
the drop-down menu is not Scrollable.
Expected result
The drop-down menu should be scrollable to increase the accessibility of that component.
Actual result
The component is fixed not showing any scroll feature.
System information (as much as possible)
None
Additional comments
None
Both scenarios provide undesirable UX.
The heads and core team members have yet not been updated for 2022-23.
would like to take up this issue, could you please assign it to me?
Our api tets were configured to test all routes without middleware. In reality, certain routes like adding a blog, editing or deleting a blog, adding a new event, etc. need to be checked for authorization using middleware. (Ref #22 ). We need to mock those authorizations in our tests.
Sinon may be a good thing to look out for.
As pointed out by @ShubhankarKG , the footer from #65 covers the main content.
Currently, Add and update event both have graduation year as a field. This field is a text field with validation that the input should be a valid number. However, some events are open to all and this should be allowed to be entered into the field. Also, some events may include students belonging to 2 different graduation years (Skill Up 2.0).
Issue: Currently, there is no way to filter interview experiences using year. They are all showed together on the same screen (unordered/unsorted I believe)
Proposed Solution:
Traceback
events.js:292
[0] throw er; // Unhandled 'error' event
[0] ^
[0]
[0] Error: connect ECONNREFUSED 127.0.0.1:6379
[0] at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
[0] Emitted 'error' event on RedisClient instance at:
[0] at RedisClient.on_error (/Users/saifkazi/Desktop/COCWebsite/server/node_modules/redis/index.js:341:14)
[0] at Socket.<anonymous> (/Users/saifkazi/Desktop/COCWebsite/server/node_modules/redis/index.js:222:14)
[0] at Socket.emit (events.js:315:20)
[0] at emitErrorNT (internal/streams/destroy.js:106:8)
[0] at emitErrorCloseNT (internal/streams/destroy.js:74:3)
[0] at processTicksAndRejections (internal/process/task_queues.js:80:21) {
[0] errno: -61,
[0] code: 'ECONNREFUSED',
[0] syscall: 'connect',
[0] address: '127.0.0.1',
[0] port: 6379
[0] }
[0] [nodemon] app crashed - waiting for file changes before starting...
In new_client/public/index.html
, there are some <link>
tags that link to CDN stylesheets and fonts:
COCWebsite/new_client/public/index.html
Lines 8 to 14 in 33bf683
Fonts can be placed in new_client/src/components/assets
, just like Recharge Bold is already there. This might speed up loading.
Also, there's already the @material-ui/icons
dependency for icons, so Material Design Icons and Font Awesome links can be removed after changing all usages.
A few changes are required in the navbar -
Users can read and submit their Interview Experiences directly on the Website.
Editor.js can be used for a rich block-styled text editor for the experience.
The events part of the website is a bit garbled currently. We wish to establish a proper flow for the events section in the following manner:
We can fix the flow first as priority, and then take on the RSVP part as a followup.
The events page has no pagination which leads to a long scrolling page. Year-wise pagination can be added just like Alumni Section.
I can take up this issue. Please assign it to me.
When our new user registers, we don't validate their email address. If someone enters a wrong email ID, our mailer will then try continuously to send mails to a wrong email address, whenever a new event is created.
Solution: Implement email verification. We have a system already that is used for the "Forgot Password" functionality. On similar lines, we can send an email verification link to a new user on signup.
After the update to npm (7.x), the lockfile version was upgraded to v2.0. Some of our contributors might have npm 6.x installed, which results in a package-lock.json
that has version as 1.0. This leads to multiple changes to the package-lock.json
files.
One thing that we can do is to force a particular NodeJS version. Open for other ideas as well.
If there are any errors while submitting the Event, the modal should not get closed, instead, it should stay on.
Edit event does not put the content of specified event in the form fields.
Currently, auth state is being handled by state lifting. Redux is a viable option for consistent state management. Implement that in existing functionality.
CI providers like Travis or CircleCI can be used to check mergeability. We'll have to write tests for that.
COCWebsite/new_client/src/components/projects/Projects.jsx
Lines 9 to 14 in 1a6ae09
domains
state.A footer is a common part of a website's UI. We can add a footer with links to our GitHub and Social Media accounts.
This is an umbrella tracker issue and is aimed to solve majorly the following:
Currently, the Alumni cards are displayed in the order in which people submitted their details. It will be better if we display the cards in alphabetical order of name. Sorting can be done anywhere - frontend or backend
If our user stays logged in for a long period of time, they won't be able to access the API because of JWT Expired. Either we increase the JWT validation time, or we implement some sort of auto refresh token in our client side.
Our codebase makes an API call very frequently. When we make an API call, there is a slight delay, and we have no UI to display this to the user. All we have is a blank screen.
If we know we are making an API call, we can display a CircularProgessIndicator to the user till the data fetching is complete.
We have been following the navbar as designed earlier, but we need a new design for the navbar, something that is really catchy but not too overtly expressive. We'll need the following sections -
We don't have new designs in mind, so if someone is able to come up with a cool design, we'll encourage that, else we'll put up our own designs.
While creating a new event, there should be an option to select which Academic Year students receive the mail. Currently, the mail is being sent to all the registered users.
Eg. 2023, 2024: So both year students will receive the mail and not others.
In server/src/views
code is repeated over the files
Suggestion :
One can create a base Ejs View and using partials
extend the existing views in order to remove the code repetitions
The following Code seems repeated :
<!DOCTYPE html>
<head>
<style type="text/css">
@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@400;800&display=swap');
* {
margin: 0;
border: 0;
padding: 0;
}
body{
font-family: 'Catamaran', sans-serif;
background-color: #ffffff;
font-size:18px;
max-width: 700px;
margin: 0 auto;
padding: 2%;
color:#565859;
}
#wrapper {
background: #f6faff;
border-radius: 7px;
}
img{
max-width: 100%;
margin-top: 2%;
}
header {
background: #000000;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
}
#logo{
max-width: 500px;
margin: 2% 0 0 5%;
}
.one-col{
margin-top: 2%;
padding: 2%;
}
h1{
letter-spacing: 1%;
}
p{
text-align: justify;
}
.button-holder{
margin: 3% 2% 4% 0;
}
.btn{
background: #52b107;
color: #f6faff;
text-decoration: none;
font-weight: 800;
padding:8px 12px;
border-radius: 8px;
letter-spacing: 1px;
}
.btn:hover{
background: #5bc40b;
}
a{
color:#52b107;
text-decoration: none;
}
.line{
clear:both;
height: 2px;
background-color: #e3e9e9;
}
</style>
</head>
<body style="font-family: 'Catamaran', sans-serif;background-color: #ffffff;font-size: 18px;max-width: 700px;margin: 0 auto;padding: 2%;color: #565859;">
<div id="wrapper" style="background: #f6faff;border-radius: 7px;">
<header style="background: #000000;border-top-left-radius: 7px;border-top-right-radius: 7px;">
<div id="logo" style="max-width: 500px;margin: 2% 0 0 5%;">
<img src="https://res.cloudinary.com/dw2ejcbvt/image/upload/v1609946419/qq_suisct.png" style="max-width: 100%;margin-top: 2%;">
</div>
</header>
We want to customize the card preview of our blogs section such that the edit and delete icons are on the top right and read more is at the bottom right.
To display the name of the person who created that project in the Project Card.
The Projects Schema already has a field named owner
that can be used here.
We can use the connect-flash
library
Lets use MongoDB. We can refer to events by id, and schedule it again, if such an event does not exist.
Considering this is a big change, lets raise an issue for it, and do it in another PR. We can merge this PR once the other points are addressed
Originally posted by @AliabbasMerchant in #27 (comment)
#47 adds a new navbar to the website. However, the page which shows all the events does not take into account the height of the navbar. As a result, the navbar overlaps the list. The same could be true for rest of the pages, but that's yet to be verified. Here's an image of the same,
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.