Giter VIP home page Giter VIP logo

jobsahoy's Introduction

Hey, I'm Param Birje! ๐Ÿ‘‹

A full stack engineer, AWS Certified Solutions Architect, open source enthusiast and a student.

Crafting and architecting end-to-end full stack applications that scale across the cloud.

๐Ÿ”ญ Iโ€™m currently working with

TypeScript Python Next JS React TailwindCSS NodeJS

AWS Express.js FastAPI MySQL

Previously worked with

Android Flutter Dart Firebase Google Cloud WordPress

With a keen eye for creating engaging user experiences, I strive to deliver captivating apps. I love exploring & contributing to open-source apps that I find interesting.

Fun Fact

A galaxy far far away...

jobsahoy's People

Contributors

parambirje avatar

Stargazers

 avatar

Watchers

 avatar

jobsahoy's Issues

Automated script to spin up an example dev environment with database

The JobsAhoy app being only the "public" side of the entire project, the database that this app needs is not being setup currently. The backend microservices are needed to dump data in the database so that it could be used by JobsAhoy.

We could proceed either ways:

  • Could create a docker compose script to setup MySQL with some dummy data
  • Create an example_data.sql file which has the schema, and dummy data (need to manually install MySQL)

Ultimately, automating all of steps needed in a package manager script command in the package.json that sets up the environment for us.

Dependent on:

[UI] Misaligned pages of routes: / and /jobs

When switching between the home route / (Landing Page) and the /jobs page using the Navbar, the layout shifts to the right and is not consistently placed across both the pages.

No user-friendly landing page for guest user view on /jobs page

When a guest user (not logged in) goes on the /jobs route, the SignedOutPage.tsx view is incomplete/empty and needs to be designed accordingly with similar components used in the SignedInPage.tsx.

image

Additional Functionality:

  • Should provide 5 job posting views (the guest user is allowed to view only 5 job postings and can view all after they sign-in)
  • Can search using a job role using the search bar

Add Log Out button functionality

The Log Out Button was removed earlier for UI redesigns.

It should now be implemented under /user/profile route using the signout function from next-auth.

Deprecate react-icons

As stated in the perf. improvement guide from vercel, react-icons is a bulky package that re-exports a lot of icons thus impacting the performance of the app.

All usages of react-icons should be replaced with phosphor-icons.

Error when used "Dublin" in location filter

When "Dublin" is selected and applied as the Location filter, the page throws an error:
image

This is what's in console:

TypeError: Cannot read properties of undefined (reading 'length')
    at C (page-c20a3d13c80e2f36.js:1:22478)

Restructure directories and UI components

The directory structure and components structure is not efficient nor scalable. The currect directory structure was made by keeping the 'pages' directory structure in mind, but is irrelevant as the 'app' directory revamps the organisation of the project files completely.

Need to organize files and components accordingly that are easy to manage and will scale efficiently to a bigger codebase.

Here are the official docs:
Getting Started: Project Structure
Project Organization and File Colocation

Routes going through UI component refactors:

Distribute local components that are in /src/components

The following components that are in /src/components:

  • SocialLoginButtons.tsx
  • /LandingPage
  • GradientDivider.tsx (used by components in /LandingPage)

are not global components used by different routes, hence need to placed in respective local route directories.

[UI] User logged out page ui not implemented

For now the /user/logged-out page just outputs "Logged Out" in a div. Change this to a user-friendly logged out page with a suitable message and a call to action that directs them to the login page.

Landing page re-design

The Landing page needs to be re-designed according to the features available at the moment.

Convert inline prop types to separated types

Currently, most of the PropTypes are inline with the function definition

function MyComponent({ sample }:{ sample: string }){}

This should be avoided and be replaced with a type

function MyComponent({ sample }: MyComponentProps){}

type MyComponentProps = {
    sample: string;
};

Restructuring home route of /jobs

The home page.tsx in the /jobs route switches views according to user's auth status. However the naming and hierarchy of these views and components are not consistent with the project navigation guidelines.

Inconsistent files:

  • Components
  • Views
  • Helper functions
  • Make a Global component for loading.tsx inside /jobs

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.