A modern and interactive portfolio built with cutting-edge technology. This project demonstrates my skills and projects, highlighting my experience in full-stack development.
- Responsive Design: Perfect adaptation for any device
- Light/Dark Theme: Theme system for better user experience
- Internationalization: Support for multiple languages (Portuguese and English)
- Interactive Terminal: A simulated terminal for unique site interaction
- Admin Dashboard: Administrative panel to manage blog content
- API Integration: Integration with GitHub to display projects and Spotify to show current music
- Rust Backend: Robust API built with Rust and Axum
- PostgreSQL Database: Efficient storage for posts and users
- Smooth Animations: Transitions and animations using Framer Motion
- Next.js 15
- TypeScript
- Material UI v6
- TailwindCSS
- Redux Toolkit
- Framer Motion
- React Hook Form
- Next Intl
- Next Auth
- Node.js (version 18 or higher)
- Bun (optional, but recommended)
- Rust (for the backend)
- PostgreSQL
- Clone the repository:
git clone https://github.com/irevolutiondev/portfolio.git
cd portfolio- Install dependencies:
bun install
# or
npm install-
Configure environment variables: Create a
.env.localfile in the project root based on.env.example -
Run the frontend:
bun run dev
# or
npm run dev- Configure and run the backend:
cd backend
cargo shuttle rundev: Start the Next.js development serverbuild: Build the project for productionstart: Start the production serverlint:next: Run Next.js linterrun: Start all services (Next.js, Vercel CLI, Backend)format: Format code with Biomelint: Run linter with Biomecheck: Check and fix code issuestest: Run tests with Jeste2e:headless: Run end-to-end tests with Playwrighte2e:ui: Run end-to-end tests with UI
src/
├── @types/ # TypeScript type definitions
├── app/ # Application pages (Next.js App Router)
├── components/ # Reusable components
├── constants/ # Constants and configurations
├── features/ # Specific features
├── helpers/ # Helper functions
├── hooks/ # Custom React hooks
├── i18n/ # Internationalization configurations
├── lib/ # Libraries and utilities
├── providers/ # Context providers
├── redux/ # Global state management
├── templates/ # Templates and layouts
├── theme/ # Theme configurations
backend/
├── migrations/ # Database migrations
├── src/ # Rust backend source code
├── domain/ # Business logic
├── handlers/ # Request handlers
├── infra/ # Infrastructure and configurations
└── utils/ # Utilities
- Home: Personal presentation and technologies
- Projects: Display of GitHub projects
- Blog: Articles and posts
- Terminal: Interactive terminal interface
- Dashboard: Administrative area to manage content
The portfolio is fully responsive, with specific layouts for:
- Desktop
- Tablet
- Mobile devices
Run unit tests:
bun test
# or
npm testRun end-to-end tests:
bun run e2e:headless
# or
npm run e2e:headlessThis project is configured for deployment on Vercel. The Rust backend is hosted through Shuttle.rs.
Revolution
- GitHub: @irevolutiondev
- LinkedIn: Revolution
- Spotify: Revolution
