This is a Template project with the aim to help developer to create professional template for free and in a time records without dealing with deep codes
This project is based in these main tech stacks:
- ReactJS - styled-components - data-aos
- Typescript
- React Bootstrap
- Material UI
- NodeJS
- EmailJS
- To use the template, you need a basic understanding of Javascript
- To contribute, please make sure you follow best practices in the tech stacks specified before
- To run the project locally you need NodeJs and Typescript installed globaly in you computer
These steps are required to make you own copy of the project and get started, of contribution it is highly important to follow all of these steps and make sure you are following a correct Git flow workflow
- Clone [Prefered] or fork the project to get a copy of it, by preference, clone it using
$ git clone https://github.com/pacyL2K19/portfolio-mine.git
- Go to the directory
cd portfolio-mine
- Install the packages
$ npm install
- Setup your
config.js
file by following theconfig.sample.js
file template - Run the project
$ npm run start
At this point you should be able to get a the project running in the default web browser, if not please make sure you folowed all the steps or open a well detailed issue
- Favicon : Feel free to change the actual
favicon.ico
file - Update the content :
- In the
helper/
folder, change couple of word by yoursheader.json
: the content of the header section, feel free to change the name and the description- In the same file, you can change the items of the navbar, the way they are named for example from
Portfolio
toHome
- In the
projects.json
file : Customize the list of featured projects- Images are url links, feel free to use any platform of choice to store them, for my case I used Cloudinary but Goole Drive or any cloud plateform can be used
- Add
live links
(if available) andGithub links
if not availbale, just put the default one#
- In globlal, this is the schema of each project: :down
- In the
// src/types.d.ts
type Project = {
imgUrl: string,
title: string,
description?: string,
techs?: string[],
id: number,
github_link?: string
}
social.json
file: An array of Social
object following this schema below, fell free to put a number of social media you want in the actual array
// src/types.d.ts
type Social = {
key: int,
for: string,
class: string,
link: string
}
// in the helper, the object should follow :
social : Social[] // just a representation
- In the
about.json
file: customize text, add most usedlanguages
,frameworks
andtools
in corresponding arrays - In the
animations.json
file, customize animation effects for each section and subsection, make sure you put correct names as the data-aos Doc specifies it, duration and delay can be customized as well - In the
contacts.json
file, customize texts to be displayed as well - Theming: colors and font ca be customized by updating values in these files
src/core/theme/colors.ts
: change themainText
color, thebackground
, ...src/core/theme/fonts.ts
: changefont-size
andfont-familly
fortitles
,sub-title
, ...
Main screenshots
|── node_modules (to be generated)
├── public/
├── favicon.ico
├── index.html
├── manifest.json
├── robots.txt
├── src/
├── assets/
├── Images
├── components/
├── Home/
├── index.test.tsx
├── index.tsx
├── style.ts
├── MainProject/ (same structure as the home)
├── Menu/ (same structure as the home)
├── Project/ (same structure as the home)
├── styled.ts
├── Button.txs
├── container/
├── About/
├── index.test.tsx
├── index.tsx
├── style.ts
├── Contacts (same structure as the About)
├── Header/ (same structure as the About)
├── Projects/ (same structure as the About)
├── core/
├── theme/
├── colors.ts
├── fonts.ts
├── index.ts
├── App.tsx
├── index.css
├── index.tsx
├── types.d.ts
├── screenshots/
├── // Images
├── .gitignore
├── config.js (to be recreated)
├── config.sample.js
├── package-lock.json
├── yarn.lock
├── package.json
├── eslintrc.json
├── README.md
Feel free to contribute to the project by following a correct Git flow workflow:
-
Create a meaningful names in this format
feature/feature-name
-
Make local tests and remote tests before raising a PR
-
Create a detailed PR with screenshots and short description, make sure each feature contains testing feature, correct syntax and easy to customize by other devs (the philosophy of the project)
-
For forked projects, recognize the author putting
Forked from
@pacyL2K19portfolio template
in the footer (set by default for you :}) kindly don't remove it -
These are next implemetation(Feel free to contribute):
- Multilanguage by creating our own dictionary
- Dark / Light switch
- Add what you think I forgot as a contribution :eye
👤 Pacifique Linjanja
- Github: @pacyL2K19
- Twitter: @PacifiqueLinja1
- Linkedin: Pacifique Linjanja
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
This project is MIT licensed.