My Self Hosted Portfolio, Blog and API - https://jazer.dev/
Built using a ReactJS Front-End, Express + PostgreSQL Back-End for API
Hosted on a Linux Ubuntu Server, connections brokered by NGINX and served with standard NodeJS HTTP module
All code tracked with git and code hosted on GitHub
| Path Route | Domain Route (redirect) | Content |
|---|---|---|
| jazer.dev | www.jazer.dev | Landing / Homepage with links to my blog, courses and portfolio |
| jazer.dev/api | api.jazer.dev | The API that manages the blog, guides and courses posted |
| jazer.dev/about | about.jazer.dev | My portfolio showcasing my best work and a bit about me (Pulled from jazer.co.uk) |
| jazer.dev/blog | blog.jazer.dev | My personal blog containing guides and other learning |
| jazer.dev/courses | courses.jazer.dev | Curated tutorials to teach concepts and give experience |
| jazer.dev/admin | admin.jazer.dev | Admin area for me to manage posts, featured articles and courses |
To run the code locally, you can spin up a postgres database either on your system or docker container (as I am doing) using the docker-pg-example.sh script under deploy/scripts
then populating the database with the schema.sql file under api/database/schema.sql
For the api server, copy the .env.example to .env with the variables changed to your desired values
After that, from the api folder, run
npm i
Which will install the required packages used defined under the packages.json
Next, run the developer script (also under packages.json)
npm run dev
Finally, try out the api to your hearts content
NOTE: the route for /api is defined under NGINX on production so ommit this from your local queries :D