Open source codebase for a React portfolio site
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
components
lib
pages
portfolio
static
styles
templates
util
.babelrc
.eslintrc.json
.gitignore
.travis.yml
README.md
build.sh
next.config.js
package-lock.json
package.json
renovate.json
server.js

README.md

desandoval-dot-net

This repository contains all of the source code for DESandoval.net - the personal website for Daniel E. Sandoval. This repository is meant to showcase the code used to create a dynamic portfolio website using static markdown files as the main source of content.

All contributions are by @d3sandoval unless otherwise specified in a commit message/author.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Installing

To get started, simply run:

npm install

You'll need a .env file with the following items:

LASTFM_API_KEY=YOUR_KEY_HERE
PORT=8080

Other environment variables available are:

REDIS_HOSTNAME=IP_ADDRESS_OR_FQDN
REDIS_PORT_NUMBER=SOME_PORT
REDIS_PASSWORD=YOUR_PASSWORD_HERE

^ Use these if you have a remote or unique redis instance that you'd like to connect to.

The dev script will start up a local redis database and an HMR-ready environment:

npm run dev

You'll see an output like:

> desandoval-dot-net@1.0.0 dev /Users/admin/projects/desandoval-dot-net
> redis-server /usr/local/etc/redis.conf > ./redis.log | node server.js

> Using external babel configuration
> Location: "/Users/admin/projects/desandoval-dot-net/.babelrc"
> Using "webpack" config function defined in next.config.js.
> 17 items added/updated in the portfolio cache
> 4 items added/updated in the blog cache
> 10 items added/updated in the wallabag cache

DONE  Compiled successfully in 2358ms

> Ready on http://localhost:8080

Running the tests

There are no tests... I'm working on that.

End to End Tests

Right now, just click around to the various pages and make sure things are working

And coding style tests

Coming Soon.

Deployment

The app is currently deployed on heroku with Travis-CI as an intermediary build step. You can see the config in the .travis.yml file

Built With

  • Next.js - The web framework used
  • Material-UI - React components that implement Google's Material Design.
  • React - Javascript UI
  • Redis - Used to cache server responses
  • react-markdown - Used to parse the portfolio pages
  • rss-parser - Used for parsing my blog feeds

Contributing

Please open up an issue or PR if you see something you'd like to change.

Versioning

I'm just making up the version numbers at this point. If somebody starts using some of my code as a dependency, I may think about versioning.

Authors

License

This project is licensed under Creative Commons Attribution-NoDerivatives 4.0

Acknowledgments

  • The next.js and material-ui communities for being so helpful!
  • My partner, Libby, for being so patient with me as I figured out how to build this