Welcome to the repository for my personal portfolio web application, www.yannickdjoa.org. This project consists of two main components: the client interface, which showcases my portfolio, and the dashboard, which allows employees to easily make modifications and create new content.
-
Overview
-
Features
-
Technologies Used
-
Project Structure
-
Getting Started
-
Prerequisites
-
Installation
-
Running Locally
-
Deployment
-
Contributing
-
License
-
Project Links and Contact
-
Author
-
Roadmap
This web application serves as my personal portfolio, presenting my projects, skills, and experiences. The dashboard is a user-friendly interface for employees to manage and update the content on the site.
A responsive and visually appealing portfolio showcasing my work and skills.
An admin panel for managing portfolio content, including user management, projects, experiences, services, and more.
Secure sign-in functionality using Firebase Authentication.
Firebase Firestore for storing and retrieving data. Firebase storage for storing all data such as images and files.
Automated deployment using GitHub CI/CD.
The Project is mainly build using Javascript language with some additional languages necessary for React app such as Html and CSS.
- Vite + React: Fast and modern development setup using Vite for building and bundling the React application.
- TailwindCSS: Utility-first CSS framework for designing responsive and modern UIs.
- Redux: State management for predictable state changes.
- html: basic structure of the webpage
- firebase hosting: live deployment tool
- Node.js: JavaScript runtime for building the server.
- Express: Web framework for Node.js for building the middleware.
- Firebase: Firebase Authentication for user sign-in and Firestore for the database.
- Firebase Hosting: Hosting service for deploying web applications.
- GitHub Actions: CI/CD pipelines for automated deployment.
root
│ README.md
│ package.json
│ vite.config.js
│ tailwind.config.js
│ firebase.json
│ main.jsx
│ App.jsx
│ index.css
│ firebase.js
│ .firebaserc
│ index.html
│ .gitignore
│
├───client
│ ├───public
│ └───src
│ ├───assets
│ ├───components
│ ├───pages
│ ├───redux
│ ├───sections
│ └───utils
│
├───server
│ ├───controllers
│ ├───routes
│ ├───utils
│ ├───package.json
│ ├───firebase.json
│ ├───index.js
│ └───firebaseConfig.js
│
└───.github
└───workflows
- Node.js (v20 or later)
- npm (v6 or later)
- Firebase CLI (for deployment)
- Clone the repository:
- git clone https://github.com/Yannickdjoa/yannickdjoa.git
- cd yannickdjoa
- Install dependencies:
-
For the client
- cd client
- npm install
-
For the server
- cd ../server
- npm install
- Setup Firebase:
- Create a Firebase project and configure Firebase Authentication and Firestore.
- Update the .env file with your Firebase configuration details.
-
Start the client:
- cd client
- npm run dev
-
Start the server:
- cd server
- npm run dev
-
Open the application:
- Navigate to http://localhost:3000 in your browser.
-
Build the client:
- cd client
- push the code to github using git
- The project is configured with GitHub Actions for CI/CD. Ensure your GitHub repository is set up with the appropriate Firebase secrets.
-
Deploy Backend to Firebase:
- cd server
- firebase deploy
Contributions are welcome! Please fork this repository and submit pull requests to suggest improvements or bug fixes.
This project is licensed under the MIT License.
- Repository: https://github.com/Yannickdjoa/yannickdjoa
- Live webpage: https://www.yannickdjoa.org
- For any inquiries or feedback, please reach out to team via the contact form in the webpage www.yannickdjoa.org
- Github: https://github.com/Yannickdjoa
- Webpage: https://www.yannickdjoa.org
- Tweeter: https://twitter.com/DjoaYannick
- LinkedIn: https://www.linkedin.com/in/yannick-djoa-4319a317/
- Wave 1: current developed features (see features)
- Wave 2: additional features
- improve the visual and ui
- improve the performance
- any other features suggestions are welcome
Thank you for visiting my personal portfolio web application!