My personal site & portfolio. Includes features and pages such as my projects/repositories, pulled from GitHub, service statuses for my projects running on Nest, and static pages including my about me, hobbies, readme.fm, contact info, etc. This is pretty much my first proper personal site, had one before but it was unfinished.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Small fix/refactoring. Fixed the linting errors in the build process, since ESLint was complaining about unexpected any's, <img>'s instead of <Image>'s, react hooks, suspense boundaries and etc. Got those all fixed and the build works fine now.
Decided to work on the projects display page since it was the most simplest thing to work on for now. It's pretty simple, it gets my github repositories from the API, filters out the forks/repos not owned by me, sorts by most recently updated, and displays it on the page. I also added a last updated field to pinnedProjects.tsx for this so it can display the last updated date the repo was updated. It also caches the API result for 5 minutes, so it doesn't spam the github API every time someone visits the page. Pretty straightforward and simple, I'm probably going to work on the blog functionality next but I am very indecisive so I'll probably lose focus and work on a random feature, to be decided though. Anyways, overall I think the site is looking great already, just the final features and allat to be done.
Got login + admin page working with auth.js. For the auth system, I used auth.js since its the most simple to use along with creds stored in .env.local because having a db for this would be unnecessary, and added a simple admin page (with no real functionality yet) along with middleware for checking if the user is logged in when trying to access an admin page. Probably going to work on the service statuses customization and the blog functionality next, whichever one I feel like is easier.
Worked on the service statuses page for now. Decided to go with a very simple approach, it checks if the url endpoint return 200 or not, and then displays if it's either online/offline for the client, along with the uptime in human readable format if the endpoint returns uptime in the json. Included only two of my projects for now since most of my projects lack the /health endpoint which I'll prolly add to those since I don't want this page to look empty. I could probably add caching, 24h uptime tracking, etc later on but I decided to just keep it simple for now, as well as because of the SOM time constraint.
Light work before the hard part. Added a very cool (and comedical) 404 page with randomized messages and anchors back to homepage/previous browser page, instead of the default next.js 404 page. Fixed a issue with the favicons, I forgot to remove the old favicon so there was a conflict, and added placeholder pages for the pages I plan to make. Anyways, the next plan is to get started with making the admin page where I can manage the blog, projects (probably not since I'll just automate it with github), and the services listed in the service statuses page. I'm probably going to hate this part a lot since databases and yadayada suck to work with sometimes in my opinion but it's probably gonna be worth it long term rather than having a static page and editing it every time I add something new.
More than basic progress update. I started off by adding a navbar because I of course plan to have more than 1 page, so for now I just added links to the projects, blog, and service statuses pages (which are nonexistent right now), I also added the readmefm embed to display my current/last played song, didn't make it for no reason of course so gotta put it to use, added a basic footer (which has a 50/50 all (rights/lefts) reserved thingy), modified metadata to have the correct title/description instead of the default one, and added a favicon. Main page is pretty much done I guess, next steps are of course to make a working blog (and probably an admin page as well), a projects page which pulls my owned repos from github, and a service statuses page which just gets the status of my hosted projects (might add uptime tracking as well). Also gonna have to make a custom 404 page, because why not. Pretty much all for now.
Basic progress so far, got the initial layout/styling/page pretty much set out, and added some basic info. Added a 3/4 hero banner, an about me section, interests, some of my pinned projects, and contact links. Still some work left though since I don't want the site to be too bland, things such as the favicon, adding more personality, gonna make another page that fetches all my recent github repos, etc. Looking good though so far imo.
Finally decided to get started on making a personal site/portfolio after procrastinating for like 100 years, anyways I decided to use next.js and tailwindcss for this since I have the most experience with these, provides flexibility compared to php/express/etc, and it's simple to use and host. The only plans I have right now on what I could add are obviously my best projects, links to my profiles, probably gonna include contact info, and I'll see what else I'm going to add along the way.