Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/semklim/portfolio
React, Typescript, Eslint, SASS, Vite
https://github.com/semklim/portfolio
airbnb-eslint eslint feature-sliced-design prettier react reactjs-typescript scss svgr typescript vite vite-react vite-typescript vitejs vitejs-react
Last synced: 2 days ago
JSON representation
React, Typescript, Eslint, SASS, Vite
- Host: GitHub
- URL: https://github.com/semklim/portfolio
- Owner: semklim
- License: mit
- Created: 2023-09-08T18:54:42.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-17T18:11:05.000Z (9 months ago)
- Last Synced: 2024-02-18T18:44:55.172Z (9 months ago)
- Topics: airbnb-eslint, eslint, feature-sliced-design, prettier, react, reactjs-typescript, scss, svgr, typescript, vite, vite-react, vite-typescript, vitejs, vitejs-react
- Language: TypeScript
- Homepage: https://semklim.vercel.app/
- Size: 67.8 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Portfolio React.tsx + Featured-Sliced Design + SEO Optimization
Welcome to the project powered by a robust tech stack and an organized code structure. This README.md file will guide you through the project setup, folder structure, and provide some context on how to get started.
## Table of Contents
- [About Project](#about-project)
- [Folder Structure](#folder-structure)
- [Tech Stack and API](#tech-stack-and-api)
- [Getting Started](#getting-started)
- [Contributing](#contributing)
- [License](#license)## About Project
This website serves as a comprehensive portfolio showcasing my various projects and expertise in programming. Built on a robust tech stack it offers a dynamic and visually appealing user experience.
Utilizing lazy-loading techniques for content and React components, the website achieves an impressive [Page speed score of 92](https://pagespeed.web.dev/analysis/https-semklim-vercel-app/ugefvxtg3c?form_factor=mobile) for mobile devices, ensuring optimal performance. Additionally, meticulous [SEO optimization has resulted in an 86 score](https://sitechecker.perfect-seo.com.ua/en/inner-optimization/analyzer/?url=semklim.vercel.app), enhancing the website's visibility and reach on search engines. Furthermore, it includes [Schema.org](https://schema.org/) microdata in [JSON+LD](https://www.quattr.com/seo-glossary#json-ld) format for enhanced search engine understanding.In addition to performance and SEO enhancements, the site incorporates a Content Security Policy (CSP) to prevent XSS attacks, ensuring a secure browsing experience for users.
The architecture of the project is based on the principles of [Feature-Sliced Design](https://feature-sliced.design/), providing a structured and scalable foundation for seamless development and maintenance. With a focus on both technical excellence and user experience, this website serves as a testament to my skills and dedication to delivering high-quality web solutions.
## Folder Structure
The project is organized using the [Feature-Sliced Design](https://feature-sliced.design/) approach, which divides the codebase into meaningful sections:
- **app**: This folder contains app-wide settings, styles, and providers. It's a great place to configure global settings and provide context to the entire application.
- **pages**: The compositional layer where full pages are constructed from entities, features, and widgets. This is where you define the structure of your application's screens.
- **widgets**: This folder is dedicated to combining entities and features into meaningful blocks. Widgets can be reused across different pages or features, promoting code reusability.
- **features**: Features represent user interactions and actions that bring business value to the user. Each feature should encapsulate a specific piece of functionality.
- **entities**: Business entities live here. These are the core data structures and models that represent the fundamental concepts of your application.
- **shared**: Reusable functionality detached from the specifics of the project/business. This can include utility functions, common components, or any code that can be shared across various parts of your application.
## Tech Stack and API
### Tech- **_[React](https://react.dev/)_**: A popular JavaScript library for building user interfaces.
- **_[Framer Motion](https://www.framer.com/motion/)_**: A simple and powerful JavaScript animation library for React.
- **_[TypeScript](https://www.typescriptlang.org/)_**: Adds static types to JavaScript, enhancing code quality and developer experience.
- **_[Vite](https://vitejs.dev/)_**: A fast build tool for modern web development.
- **_[SCSS](https://sass-lang.com/)_**: A preprocessor for CSS, providing a more organized and maintainable way to style your components.
- **_[SVGR](https://react-svgr.com/)_**: A tool to transform SVG files into React components, making it easy to work with SVG graphics in your project.
- **_[ESLint](https://eslint.org/)_**: A linter tool to analyze your code for potential errors and enforce code style conventions.
- **_[Prettier](https://prettier.io/)_**: An opinionated code formatter to ensure consistent code formatting.
- **_[AirBnB](https://airbnb.io/javascript/react/)_**: A popular ESLint and Prettier configuration that enforces coding standards and best practices.
### API
- **_[Emailjs](https://www.emailjs.com/)_**: Send text/html emails from your code to any smtp server.
## Getting Started1. Clone the repository:
```bash
git clone
cd
```2. Install dependencies:
```bash
npm install
```3. Start the development server:
```bash
npm run dev
```4. Open your browser and visit [http://localhost:3000](http://localhost:3000) to see your application in action.
## Contributing
Contributions are welcome! If you'd like to contribute to this project, please follow our [contribution guidelines](CONTRIBUTING.md).
## License
This project is licensed under the [MIT License](LICENSE), which means you are free to use, modify, and distribute the code in accordance with the terms of the license.