Rahman Sharifi

Full-Stack Developer

Bandar Abbas, Hormozgan
24 years old

Self-taught developer passionate about creating elegant solutions to complex problems. I specialize in building responsive, user-friendly applications with modern technologies across the full stack. Constantly learning and adapting to new challenges in the ever-evolving tech landscape.

Rahman Sharifi

Technical Skills

Frontend Development

HTML5 & CSS3 95%
JavaScript 90%
React 85%
Vue.js 80%
Responsive Design 90%

Backend Development

Node.js 85%
Express 80%
MongoDB 75%
SQL 70%
RESTful APIs 85%

Tools & Others

Git & GitHub 90%
Docker 65%
Testing (Jest/Mocha) 70%
CI/CD 60%
Agile Methodology 75%

Projects Showcase

A collection of my recent work showcasing my skills and expertise in full-stack development.

E-commerce Platform

A full-featured e-commerce platform with product management, shopping cart, and payment integration.

React Node.js MongoDB Stripe

Weather Dashboard

Interactive weather application with real-time forecasts, location search, and animated weather visualizations.

Vue.js CSS3 Weather API

RESTful API Service

Scalable RESTful API with authentication, rate limiting, and comprehensive documentation.

Node.js Express JWT Swagger

Task Management App

Collaborative task management application with drag-and-drop interface, notifications, and team features.

React Redux Node.js Socket.io

Portfolio Template

Customizable portfolio template with smooth animations, responsive design, and contact form integration.

JavaScript SCSS GSAP

Content Management System

Headless CMS with rich text editor, media management, and API-first architecture for content delivery.

Node.js GraphQL MongoDB

Learning Journey

My self-taught path to becoming a full-stack developer, highlighting key milestones and achievements.

First Steps in Web Development

2020

Started my coding journey by learning HTML, CSS, and JavaScript fundamentals through online resources like freeCodeCamp and MDN Web Docs.

HTML5 CSS3 JavaScript

Frontend Frameworks

2021

Expanded my skills by learning React and Vue.js, building interactive user interfaces and single-page applications. Completed several personal projects to apply these technologies.

React Vue.js Redux

Backend Development

2022

Ventured into backend development with Node.js and Express. Learned database management with MongoDB and SQL. Built RESTful APIs and implemented authentication systems.

Node.js Express MongoDB SQL

DevOps & Deployment

2023

Explored deployment strategies and DevOps practices. Learned Docker, CI/CD pipelines, and cloud hosting. Deployed full-stack applications to production environments.

Docker CI/CD AWS Netlify

Advanced Full-Stack Development

2024

Deepened my expertise in full-stack development. Explored advanced topics like GraphQL, microservices, and real-time applications with WebSockets. Focused on performance optimization and security best practices.

GraphQL Microservices WebSockets Security

Code Examples

A glimpse into my coding style and approach to problem-solving.

React Component

import React, { useState, useEffect } from 'react';
const DataFetcher = ({ endpoint, render }) => {
  const [data, setData] = useState(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState(null);
  useEffect(() => {
    const fetchData = async () => {
      try {
        setLoading(true);
        const response = await fetch(endpoint);
        
        if (!response.ok) {
          throw new Error(`HTTP error! Status: ${response.status}`);
        }
        
        const result = await response.json();
        setData(result);
        setError(null);
      } catch (err) {
        setError(err.message);
        setData(null);
      } finally {
        setLoading(false);
      }
    };

    fetchData();
  }, [endpoint]);

  return render({ data, loading, error });
};

export default DataFetcher;

Node.js API Endpoint

const express = require('express');
const router = express.Router();
const auth = require('../middleware/auth');
const Product = require('../models/Product');
// @route   GET api/products
// @desc    Get all products
// @access  Public
router.get('/', async (req, res) => {
  try {
    const products = await Product.find()
      .sort({ createdAt: -1 })
      .limit(20);
    res.json(products);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server Error');
  }
});

// @route   POST api/products
// @desc    Create a product
// @access  Private
router.post('/', auth, async (req, res) => {
  const { name, description, price, category, imageUrl } = req.body;

  try {
    const newProduct = new Product({
      name,
      description,
      price,
      category,
      imageUrl,
      user: req.user.id
    });

    const product = await newProduct.save();
    res.json(product);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server Error');
  }
});

module.exports = router;

GitHub Contributions

247
Contributions
18
Repositories
42
Pull Requests
35
Issues

Personal Development

My approach to continuous learning and future goals in the tech industry.

Current Learning Focus

  • Advanced TypeScript patterns and best practices
  • Microservices architecture with Docker and Kubernetes
  • GraphQL API design and implementation strategies
  • Performance optimization techniques for web applications
  • Cloud infrastructure and serverless computing

Future Goals

  • Contribute to open-source projects that align with my values
  • Master advanced state management patterns in frontend applications
  • Explore machine learning integration in web applications
  • Build and launch a SaaS product that solves real-world problems
  • Mentor other self-taught developers on their coding journey

Professional Growth Mindset

Continuous Learning

Embracing new technologies and methodologies to stay ahead in the rapidly evolving tech landscape.

Collaborative Approach

Valuing diverse perspectives and working effectively with others to create better solutions.

Problem-Solving Focus

Approaching challenges with curiosity and persistence, seeking innovative solutions to complex problems.

Get In Touch

I'm always open to discussing new projects, creative ideas, or opportunities to be part of your vision.

Contact Information

Location

Bandar Abbas, Hormozgan, Iran

Availability

Open to freelance and full-time opportunities

Response Time

Usually within 24 hours

Connect with me