This personal portfolio project was created using Nullstack and TypeScript, with data stored in a MongoDB database.
- Personal information and introduction
- Detailed work experiences, including companies and roles
- Personal projects with links to demonstration and source code
- Contributions to open source projects
- Education history and qualifications
npm install
Copy the environment file example to a .env file and fill in the corresponding variables.
NULLSTACK_PROJECT_NAME="[dev] Nullstack Portfolio"
NULLSTACK_PROJECT_DOMAIN="localhost"
NULLSTACK_PROJECT_COLOR="#D22365"
NULLSTACK_SERVER_PORT="3000"
NULLSTACK_SECRETS_DATABASE_NAME="" # Your MongoDB database name
NULLSTACK_SECRETS_MONGODB_URI="" # Connection URI to your MongoDB
npm start
Open http://localhost:3000 to view the application in your browser.
The project includes various TypeScript model classes to structure the data. Each class represents a different collection in MongoDB. Here are the model classes:
SummaryModel
: Personal information and introductionroleModel
: Roles within a company (a person may have held several roles in a single company)WorkExperiencesModel
: Represents a company, which contains an array of roles.PersonalProjectModel
: Personal projectsOpenSourceContribsModel
: Contributions to open source projectsEducationModel
: Education history and qualifications
You can find the complete definition of these classes in the database typing file databaseInterfaces.ts
.
To learn more about how this project was built and how you can leverage Nullstack in your own projects, consult the official Nullstack documentation.