Skip to content

JuliusNtale/Ntale-Portfolio

Repository files navigation

Ntale Portfolio

Welcome to the repository for my personal portfolio website. This project showcases my skills, projects, and achievements in software engineering, photography, and videography. It is designed to be responsive, interactive, and visually appealing, built using modern web development technologies.

Features

  • Responsive Design: The website is optimized for various screen sizes and devices, ensuring a seamless user experience on desktops, tablets, and mobile devices.
  • Interactive Animations: Smooth animations implemented using Framer Motion enhance the user experience.
  • Contact Form: A functional contact form powered by EmailJS allows visitors to reach out directly.
  • Dynamic Content: The portfolio dynamically displays information about projects and skills.

Tech Stack

Frontend

  • React: A JavaScript library for building user interfaces.
  • Tailwind CSS: A utility-first CSS framework for styling.
  • Framer Motion: For animations and transitions.

Backend/Services

  • EmailJS: Handles form submissions and email delivery.

Tools

  • Visual Studio Code: IDE for development.
  • GitHub: Version control and repository hosting.

Folder Structure

Ntale-Portfolio
├── public          # Static assets
├── src             # Source files
│   ├── components  # Reusable React components
│   ├── pages       # Application pages
│   ├── styles      # Custom stylesheets
│   └── utils       # Helper functions
├── .env            # Environment variables
├── package.json    # Project dependencies and scripts
└── README.md       # Project documentation

Getting Started

Prerequisites

  • Node.js: Ensure you have Node.js installed on your machine.
  • npm or yarn: Package manager for installing dependencies.

Installation

  1. Clone the repository:
    git clone https://github.com/JuliusNtale/Ntale-Portfolio.git
  2. Navigate to the project directory:
    cd Ntale-Portfolio
  3. Install dependencies:
    npm install

Environment Variables

Create a .env file in the root directory and add the following variables:

NEXT_PUBLIC_SERVICE_ID=your_service_id
NEXT_PUBLIC_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_PUBLIC_KEY=your_public_key

These variables are required for EmailJS integration.

Running the Project

Start the development server:

npm run dev

The application will be available at http://localhost:3000.

Building for Production

Build the project for production:

npm run build

Serve the built files:

npm start

Deployment

This project can be deployed to platforms like Vercel, Netlify, or any static hosting service. Ensure your environment variables are set up in the deployment platform.

Usage

Navigating the Portfolio

  • Explore different sections such as "About Me," "Projects," and "Contact."
  • Use the contact form to send direct messages.

Customization

Feel free to fork this repository and customize the design or functionality to suit your needs.

Contributing

Contributions are welcome! If you'd like to improve the project, please:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m "Add your message here"
  4. Push to the branch:
    git push origin feature/your-feature-name
  5. Create a pull request.

License

This project is licensed under the MIT License.

Acknowledgments

  • Special thanks to the developers of React, Tailwind CSS, and EmailJS for providing powerful tools to build modern web applications.
  • Inspiration and design ideas were derived from various portfolio websites and online resources.

Contact

If you have any questions or suggestions, feel free to contact me through the portfolio's contact form or via email.


Thank you for visiting my portfolio repository!

About

Personal portfolio website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published