Skip to content

Commit

Permalink
Refactor first part
Browse files Browse the repository at this point in the history
  • Loading branch information
Swiatlon committed Dec 10, 2024
1 parent 39159c6 commit dc864b2
Show file tree
Hide file tree
Showing 85 changed files with 1,112 additions and 1,697 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

#Ignored
# Ignored
node_modules
dist
dist-ssr
Expand All @@ -24,4 +24,4 @@ dist-ssr
*.njsproj
*.sln
*.sw?
.VSCodeCounter
.VSCodeCounter
71 changes: 19 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,56 @@
# University Frontend

This project serves as the frontend for a University management system, designed to provide an intuitive interface for managing student data, course registrations, and other functionalities. Built with React and TypeScript, it focuses on delivering a responsive and user-friendly experience with modern frontend technologies.
This project offers frontend for a **University Management System**, offering an intuitive interface for managing student data, course registrations, and administrative functionalities. Built with **React** and **TypeScript**, it prioritizes responsiveness, scalability, and user experience with modern frontend technologies.

## Features

- **React with TypeScript**: Utilizes React for building dynamic user interfaces and TypeScript for strong typing and improved developer experience.
- **Component-Based Architecture**: Implements reusable and modular components for maintainability and scalability.
- **State Management**: Manages application state effectively using [state management library, e.g., Redux, Context API].
- **API Integration**: Connects seamlessly with the backend API to handle data fetching and state synchronization.
- **Responsive Design**: Ensures a consistent user experience across different devices and screen sizes.
- **React with TypeScript**: Combines React's dynamic UI capabilities with TypeScript's type safety for a robust developer experience.
- **Modular Architecture**: Utilizes a component-based architecture for enhanced maintainability and scalability.
- **State Management**: Effectively handles application state using [Redux/Context API/etc.].
- **Seamless API Integration**: Connects effortlessly with the backend to manage data fetching and synchronization.
- **Responsive Design**: Delivers a consistent and adaptive user experience across various devices and screen sizes.

## Getting Started

### Prerequisites

- Node.js (version >=18.0.0 or higher recommended)
- npm (version >=8.0.0 or higher)
- **Node.js**: Version 18.0.0 or higher
- **npm**: Version 8.0.0 or higher

### Installation

1. **Clone the repository:**

1. **Clone the repository**:
```bash
git clone https://github.com/Swiatlon/University-FN
```

2. **Navigate to the project directory:**

2. **Navigate to the project directory**:
```bash
cd University-FN
```

3. **Install NPM packages:**

3. **Install dependencies**:
```bash
npm install
```

### Running the Application

- **Development mode with live reloads:**

```bash
npm run dev
```

- **Build the application for production:**

```bash
npm run build
```

The production build will be located in the `build` directory.

## Contributing

We welcome contributions to the University-FN frontend project! If you have suggestions, improvements, or bug fixes, please follow these steps:

1. **Fork the repository**
2. **Create a new branch:**

- **Development Mode**:
```bash
git checkout -b feature/your-feature-name
npm run dev
```
This starts the application with live reloads for development.

3. **Commit your changes:**

- **Production Build**:
```bash
git commit -m 'Add new feature'
npm run build
```

4. **Push to the branch:**

```bash
git push origin feature/your-feature-name
```

5. **Submit a pull request**

For detailed guidelines, please refer to our [CONTRIBUTING.md](CONTRIBUTING.md) file.
The optimized production build will be available in the `build` directory.

## License

This project is open-source under the MIT license. See the [LICENSE](LICENSE) file for details.
This project is licensed under the **MIT License**. For more information, refer to the [LICENSE](LICENSE) file.

## Contact

For any questions or feedback, please reach out to [your email address] or create an issue on [GitHub Issues](https://github.com/Swiatlon/University-FN/issues).
For inquiries or feedback, please contact [your email address] or open an issue on [GitHub Issues](https://github.com/Swiatlon/University-FN/issues).
80 changes: 34 additions & 46 deletions .eslintrc.cjs → eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,33 @@
module.exports = {
root: true,
env: {
browser: true,
es2020: true,
node: true,
},
extends: [
'eslint:all',
'plugin:@typescript-eslint/all',
'plugin:react/all',
'plugin:jsx-a11y/strict',
'plugin:security/recommended-legacy',
'plugin:sonarjs/recommended-legacy',
'plugin:import/errors',
'plugin:import/warnings',
'plugin:import/typescript',
'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures: {
jsx: true,
import eslint from '@eslint/js';
import eslintCommentsPlugin from 'eslint-plugin-eslint-comments';
import importPlugin from 'eslint-plugin-import';
import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
import prettierPlugin from 'eslint-plugin-prettier';
import reactPlugin from 'eslint-plugin-react';
import reactHooksPlugin from 'eslint-plugin-react-hooks';
import securityPlugin from 'eslint-plugin-security';
import sonarjsPlugin from 'eslint-plugin-sonarjs';
import unusedImportsPlugin from 'eslint-plugin-unused-imports';
import tseslint from 'typescript-eslint';

export default tseslint.config(eslint.configs.recommended, tseslint.configs.strict, tseslint.configs.stylistic, {
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: './tsconfig.json',
},
},
plugins: [
'react',
'@typescript-eslint',
'react-hooks',
'jsx-a11y',
'security',
'sonarjs',
'unused-imports',
'eslint-comments',
'react-refresh',
'prettier',
],
plugins: {
react: reactPlugin,
'jsx-a11y': jsxA11yPlugin,
security: securityPlugin,
sonarjs: sonarjsPlugin,
'unused-imports': unusedImportsPlugin,
'eslint-comments': eslintCommentsPlugin,
'react-hooks': reactHooksPlugin,
prettier: prettierPlugin,
import: importPlugin,
},
rules: {
'import/order': [
'error',
Expand Down Expand Up @@ -88,9 +77,10 @@ module.exports = {
},
},
],
"react/no-multi-comp": "off",
"no-multiple-empty-lines": ["error", { max: 1 }],
"max-lines": ["error", { "max": 500, "skipBlankLines": true }],
'@typescript-eslint/no-empty-object-type': 'off',
'react/no-multi-comp': 'off',
'no-multiple-empty-lines': ['error', { max: 1 }],
'max-lines': ['error', { max: 500, skipBlankLines: true }],
'@typescript-eslint/prefer-nullish-coalescing': 'off',
'no-empty-function': 'off',
'@typescript-eslint/no-empty-function': 'off',
Expand Down Expand Up @@ -132,11 +122,9 @@ module.exports = {
'one-var': ['off'],
'sort-imports': 'off',
'sort-keys': 'off',
'@typescript-eslint/type-annotation-spacing': 'error',
'@typescript-eslint/explicit-member-accessibility': ['error', { accessibility: 'explicit' }],
'@typescript-eslint/no-for-in-array': 'error',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'error',
'@typescript-eslint/promise-function-async': 'error',
'@typescript-eslint/require-await': 'error',
'react/require-default-props': 'off',
Expand Down Expand Up @@ -173,5 +161,5 @@ module.exports = {
version: 'detect',
},
},
ignorePatterns: ['node_modules/', 'dist/', 'vite.config.ts'],
};
ignores: ['node_modules/', 'dist/', 'vite.config.ts'],
});
Loading

0 comments on commit dc864b2

Please sign in to comment.