Giter VIP home page Giter VIP logo

iedc-collab's Introduction

IEDC Collab Frontend

Getting Started

Create .env file. Add to .env file

REACT_APP_FB_API_KEY=XXXXxxxx
REACT_APP_AUTH_DOMAIN=xxxxXXXX.firebaseapp.com
REACT_APP_DATABASE_URL=https://xxxXXXX.firebaseio.com
REACT_APP_PROJECT_ID=xxxxXXXX
REACT_APP_STORAGE_BUCKET=xxxxXXXX.appspot.com
REACT_APP_MESSAGING_SENDER_ID=xxxxXXXX

We request you if you are about to contribute, write clean and well documented code and also we expect you to follow undermentioned commit message format:

Build: A new feature or Feat: A new feature.
Fix: A bug fix.
Docs: Documentation only changes.
Style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc).
Refactor: A code change that neither fixes a bug nor adds a feature.
Perf: A code change that improves performance.
Test: Adding missing tests.
Chore: Changes to the build process or auxiliary tools and libraries such as documentation generation.

For Example:-

git commit -m "Feat: Added UI component to add file" or git commit -m "Feat: Added UI component to add file",
git commit -m "Fix: Bug in SomeView was fixed",
etc.

iedc-collab's People

Contributors

123vivekr avatar abinmathew16 avatar achyuthmohan avatar adithyaanilkumar avatar aldrinjenson avatar amaldevcd avatar ameen4455 avatar artibhatia13 avatar deepu19g avatar dependabot[bot] avatar jagannathes avatar joeljosh avatar knsreehari2001 avatar meenakshishankar avatar rachel1306 avatar ranjr219 avatar rindishkrishna avatar sona-mathew-08 avatar vishnurr2k01 avatar vishruth-s avatar

Stargazers

 avatar  avatar

Watchers

 avatar

iedc-collab's Issues

Addition of a footer in different pages

Feature Description:

We have to add a google form link where folks who get stuck can fill it up to let us know they face troubles. Google Form: Link. Your task is to design a footer to be displayed in the following pages:

  1. /projects
  2. /developers
  3. /developers/:id
  4. /projects/:id

The footer should have the message
"""
Copyright © {year} IEDC MEC
"""
in a centered manner

In case of /profile, try putting it in the navbar with a message like, maybe, "Notice a bug or possible UI improvement, fill this "

Possible Solutions:

  1. Create a new component called CollabFooter which returns the footer as a component and add it to the following pages:
    • /projects. File: iedc-collab/src/Pages/Projects/Projects.js
    • /developers File: iedc-collab/src/Pages/Developers/Developers.js
    • /developers/:id File: iedc-collab/src/Pages/DeveloperDetail/DeveloperDetails.js
    • /projects/:id File: iedc-collab/src/Pages/ProjectDetail/ProjectDetail.js
  2. Add them to the bottom of the page in an appropriate manner.
  3. Ensure that the component is Mobile Responsive

New Project form

Show a modal when the user clicks on "New Project" on the navbar.
The fields for the form are:

  • Project Name
  • Project Description (Might get long with multiple lines)
  • Links (Let it be just a text box, we can parse the string for comma separated URLs)

Restructure of UX

Problem: The Hero page needs a "call to action" as well as a mini-tagline.

  1. Restructure Hero section
  2. Restructure /profile page for better view
  3. Restructure /projects/:id route

Reduce height in className 'developer-details'

  1. Reduce the height in the div with className developer-details in page /developers so that there are 3 cards vertically.
    This helps us to add a footer with necessary links instead of scrolling down.
    This aims at preventing the break in UI:
    Image
  2. Remove AOS from the cards inside developer-details in page /developers
  3. Remove AOS from the cards inside projects-cards in page /projects

Verify Project Invitation flow

Problems:

  • Emails are not being sent to users while accepting, requesting invitations
  • Axios errors exist during the process

Verify and debug the workflow

Update collab team details

Bug Description:

  1. Update the website with details of Current collab project leads and devs. Update Homepage and https://collab-beta.iedcmec.in/team

Name, LinkedIn and Picture for (homepage):

  • Project Leads
  • Tech Leads
  • Operations Lead
  • Operations Team
  • Design Lead
  • Content Lead

(/team):
Tech Team members: Pictures and full name
Design Team: Pictures and full name

Location of Bug: iedc-collab/src/Components/Team/Team.js

Hint: Change the data in iedc-collabsrc/data/core.js and other files in the directory

Ps. More details will be updated soon!!

Update content in homepage about work@mec

Bug Description:
Update homepage about us content with work@mec:
Insert as another paragraph in the About Us section in homepage. The content is:

"""
The "Work@mec", an upcoming feature, designed to provide a platform where the students of Model Engineering College will be able to apply for internships in MEC originated start-ups. It also allows the students who are forming a start-up within MEC to register their start-up through the app, which boosts the entrepreneurial culture, bridge the skill gap between the students and the industry and help combat unemployment at the same time!!
"""

Location of Bug: iedc-collab/src/Components/About/About.js

UI Bugs in Filter Drawer

image

The Filter Chip Close Icon UI Can be Made better . You can refer to the one done in skills autocomplete of edit profile for reference.

Implement Authorized Routes

Bug Description:

The following routes are not based on authentication:-

  1. /developers
  2. /projects
  3. /MyJobs

Routes 1 and 2 should only be accessible to unauthenticated users and normal users
Route 3 should only be accessible to Organization

Location of the bug:
iedc-collab/src/App.js

Steps to reproduce to see bug:

  • Sign up as a user and manually add /MyJobs to the end of URL
  • Sign up as an organization and manually add /projects to the end of the URL

Hint:

Possible Solutions:

  1. Create a new component called Protected Route which takes in props such as:
    • path of route
    • component to route (The custom component, like <Developers/> or )
    • the role which is authenticated to access the route
  2. There is a key called role in the profile variable in ProjectContext.js file. Use that variable through useContext in the Protected Route component to check if the user is a normal user or organization.
  3. Add in other edge-cases like, if the user has not logged in then (unauthenticated), restrict access to routes which require organization role.

Sample code:

// ProtectedRoute.js
import React from 'react';
import { Route, Redirect } from 'react-router-dom';
import { useAuth } from './AuthContext';

const ProtectedRoute = ({ component: Component, requiredRole, ...rest }) => {
  const { user, role } = useAuth();

  return (
    <Route
      {...rest}
      render={(props) => {
        if (!user) {
          return <Redirect to="/login" />;
        }
        if (requiredRole && role !== requiredRole) {
          return <Redirect to="/not-authorized" />;
        }
        return <Component {...props} />;
      }}
    />
  );
};

export default ProtectedRoute;

Hint: use useNavigate() hook to re-route on button click, if needed. Use Global search for sample implementation. (It is already implemented in the project)

Projects UI Breakage

Bug Description:
UI is broken in /projects page
Image

Location of bug:
src\Pages\Projects\Projects.js

Possible solutions:

  1. Increase the zIndex CSS property of the Filter button
  2. Reduce the container width to prevent overlap only in Laptop view (recommended)

UI Changes discussion

Topics of discussion:

  1. Home page: especially landing page
  2. Mobile responsive view check

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.