An interactive personal profile application built with React featuring a modern and smooth user interface.
- 🎨 Modern Design: Beautiful user interface using Chakra UI
- ⚡ High Performance: Built on React 18 with performance optimizations
- 📱 Fully Responsive: Responsive design that works on all devices
- 🎭 Smooth Animations: Professional animations using Framer Motion
- 📝 Reliable Forms: Data validation using Formik and Yup
- 🎯 Professional Icons: Beautiful FontAwesome icons
- 🎨 Custom Styling: CSS-in-JS styling with Emotion
- Node.js (version 14 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/jwafaDev/react-profile.git
# Navigate to the project folder
cd react-profile
# Install dependencies
npm install# Start the development server
npm start
# The application will automatically open at http://localhost:3000# Create an optimized production build
npm run build
# This creates a `build` folder optimized for production# Run the test suite
npm test| Technology | Version | Description |
|---|---|---|
| React | ^18.2.0 | JavaScript library for building user interfaces |
| Chakra UI | ^2.3.2 | Accessible React component library |
| Framer Motion | ^7.3.5 | Animation and gesture library for React |
| Formik | ^2.2.9 | Form state management for React |
| Yup | ^0.32.11 | Schema validation library |
| FontAwesome | ^6.2.0 | Icon library with React integration |
| Emotion | ^11.10.4 | CSS-in-JS library for styling |
| React Testing Library | ^13.4.0 | Testing utilities for React |
- JavaScript: 88.8%
- HTML: 9.1%
- CSS: 2.1%
In the project directory, you can run:
| Script | Command | Description |
|---|---|---|
| Start | npm start |
Runs the app in development mode |
| Build | npm run build |
Builds the app for production |
| Test | npm test |
Launches the test runner |
| Eject | npm run eject |
Ejects the configuration (irreversible) |
Note: Ejecting is a one-way operation. Once you eject, you can't go back!
react-profile/
├── public/ # Static files
├── src/ # Source code
│ ├── components/ # Reusable React components
│ ├── pages/ # Page components
│ ├── styles/ # Global styles
│ ├── App.js # Main App component
│ └── index.js # Entry point
├── package.json # Project dependencies and scripts
└── README.md # Project documentation
The project leverages Chakra UI's accessible components for a professional look and feel.
Smooth and performant animations enhance user experience throughout the application.
Formik and Yup provide robust client-side form validation and error handling.
Built with mobile-first approach ensuring great user experience on all screen sizes.
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Contributions are welcome! To contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow React best practices and hooks patterns
- Write meaningful commit messages
- Test your changes before submitting a PR
- Update documentation as needed
This project is open source. Check the LICENSE file for more details.
- Use
npm startfor development with hot reload - Check console for any warnings or errors
- Test responsive design using browser DevTools
- Keep components small and reusable
- Use Chakra UI's theme system for consistent styling
If port 3000 is already in use, you can specify a different port:
PORT=3001 npm startIf you encounter any dependency conflicts:
rm -rf node_modules package-lock.json
npm installjwafaDev - Visit Profile
Created with ❤️ using React
For questions or suggestions, feel free to open an issue or reach out!