/egytech-fyi

The Frontend repo for egytech.fyi. egytech.fyi provides comprehensive data and statistics on participants in the tech industry. Easily retrieve information on job titles, experience levels, compensation, and more. Powered by Cloudflare Pages. πŸš€

Primary LanguageTypeScript

🌟 EGYTECH.FYI Frontend

Welcome to the frontend repository for egytech.fyi, a dynamic dashboard and reporting tool that provides insights into the Egyptian Tech Scene. This application visualizes salary data and industry trends, akin to the Stack Overflow Developer Survey, enabling users to filter and analyze compensation within the tech sector in Egypt.

πŸ“‹ Table of Contents

πŸš€ Getting Started

πŸ”§ Prerequisites

Before you begin, ensure you have the following installed:

πŸ“¦ Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/egytech-fyi.git
    cd egytech-fyi
  2. Install dependencies:

    yarn install

πŸ–₯️ Running the Application

Start the development server:

yarn dev

This will launch the Vite development server, making the application accessible at http://localhost:3000.

πŸ” Running Lint

To ensure code quality and consistency, run ESLint with:

yarn lint

πŸ‘€ Previewing Build

To build the project and preview it locally:

yarn run build
yarn preview

🎨 Features

This dashboard includes:

  • Interactive filters to view data based on job titles, experience levels, and technology stacks.
  • Visual representations of salary ranges and distributions.
  • Comparisons and analytical reports similar to industry surveys.

πŸ“š Folder Structure

└── πŸ“egytech-fyi
    └── πŸ“.github
        └── PULL_REQUEST_TEMPLATE.md
    └── πŸ“.husky
        └── pre-commit
        └── pre-push
    └── .prettierrc
    └── πŸ“.vscode
        └── settings.json
    └── πŸ“public
    └── πŸ“src
        └── πŸ“assets
        └── πŸ“components // for all the components used
            └── πŸ“Shared // for shared agnostic components
        └── πŸ“constants // for constants used across the repo
        └── πŸ“context // for state contexts
        └── πŸ“functions // for general functions
        └── πŸ“mock //for mock data
        └── πŸ“pages // for pages
        └── πŸ“services // for api services
        └── πŸ“styles // for style files (should follow the convention of <FileName>.styles.scss)
        └── πŸ“types // type script types
        └── πŸ“utils // for utility functions
            └── πŸ“Transformers // for data transformation functions
        └── App.tsx
        └── index.css
        └── main.tsx
        └── vite-env.d.ts
    └── README.md
    └── index.html
    └── package.json
    └── tsconfig.json
    └── tsconfig.node.json
    └── vite.config.ts

🀝 Contributing

Contributions are welcome! To help make this project better, please follow these steps:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -am 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request to staging branch.
  6. Once merged test your changes on staging

Contributors

This project exists thanks to all the people who contribute. A special thanks to our key contributors:


Visit the live application: egytech.fyi