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.
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.
- the latest node and npm versions.
- a local redis database for development with the cache. Quick Start
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
- 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
Please open up an issue or PR if you see something you'd like to change.
- Daniel E. Sandoval - DESandoval.net
This project is licensed under Creative Commons Attribution-NoDerivatives 4.0
- 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