A Next.js application for managing superheroes with humility. This project demonstrates modern Next.js practices, animations, and comprehensive testing.
- Add and view superheroes
- Animated UI components using Framer Motion
- Form validation with error handling
- Responsive design
- Accessibility-focused components
- Comprehensive test coverage
- Framework: Next.js 13.4.1 (App Router)
- UI Library: React 18.2.0
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Heroicons
- Testing: Jest & React Testing Library
- Clone the repository
git clone https://github.com/nabeelamjadsheikh/superhero cd superhero - Install dependencies
npm install
- Environment Setup
Create a
.env.localfile in the root directory:NEXT_PUBLIC_API_BASE_URL=your_api_url_here
- Run Development Server
Visit
npm run dev
http://localhost:3000 - Run Tests
npm test # Run tests once npm run test:watch # Run tests in watch mode
- Unit tests for components
- Integration tests for form submissions
- Mocked API calls and routing
- Run tests using
npm test
As a team player, I believe this project could benefit from:
- Regular code reviews to maintain code quality
- Pair programming sessions for complex features
- Documentation of component props using TypeScript or PropTypes
- Shared component library documentation
- Regular discussions about accessibility and performance improvements
- Create feature branch from
main - Implement changes with tests
- Run test suite
- Create pull request with detailed description
- Address review comments
- Merge after approval
I would explore:
- Technical Improvements
- Implement TypeScript for better type safety
- Add E2E tests using Cypress
- Implement proper caching strategy
- Feature Additions
- Add superhero editing functionality
- Implement sorting and filtering
- Add pagination for large lists
- Implement real-time updates using WebSocket
- Add dark mode support
- Developer Experience
- Set up Storybook for component documentation
- Improve test coverage
- Add API mocking for development
- Consistent code formatting using Prettier
- ESLint for code quality
- Component-based architecture
- Proper error handling
- Accessibility considerations
- Comprehensive test coverage
humble-superhero-frontend/ ├── app/ │ ├── components/ │ │ ├── ui/ │ │ ├── SuperheroForm.jsx │ │ └── SuperheroList.jsx │ ├── constants/ │ ├── page.jsx │ └── layout.js ├── tests/ ├── styles/ ├── public/ └── configuration files
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details. Built with ❤️ and humility +++++++++++++++++++++++++++++