Skip to content

jwafaDev/react-profile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Profile 👤

An interactive personal profile application built with React featuring a modern and smooth user interface.

✨ Features

  • 🎨 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

🚀 Getting Started

Prerequisites

  • Node.js (version 14 or higher)
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/jwafaDev/react-profile.git

# Navigate to the project folder
cd react-profile

# Install dependencies
npm install

Running the Project

# Start the development server
npm start

# The application will automatically open at http://localhost:3000

📦 Build for Production

# Create an optimized production build
npm run build

# This creates a `build` folder optimized for production

🧪 Testing

# Run the test suite
npm test

📚 Technologies Used

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

📊 Language Composition

  • JavaScript: 88.8%
  • HTML: 9.1%
  • CSS: 2.1%

📝 Available Scripts

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!

🏗️ Project Structure

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

🎯 Key Features to Explore

Chakra UI Components

The project leverages Chakra UI's accessible components for a professional look and feel.

Framer Motion Animations

Smooth and performant animations enhance user experience throughout the application.

Form Validation

Formik and Yup provide robust client-side form validation and error handling.

Responsive Layout

Built with mobile-first approach ensuring great user experience on all screen sizes.

🌐 Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

🤝 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow React best practices and hooks patterns
  • Write meaningful commit messages
  • Test your changes before submitting a PR
  • Update documentation as needed

📝 License

This project is open source. Check the LICENSE file for more details.

💡 Tips for Development

  • Use npm start for 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

🐛 Troubleshooting

Port Already in Use

If port 3000 is already in use, you can specify a different port:

PORT=3001 npm start

Dependency Issues

If you encounter any dependency conflicts:

rm -rf node_modules package-lock.json
npm install

👨‍💻 Author

jwafaDev - Visit Profile


Created with ❤️ using React

For questions or suggestions, feel free to open an issue or reach out!

About

An interactive personal profile application built with React featuring modern design with Chakra UI, smooth animations, and form validation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors