An open API service indexing awesome lists of open source software.

https://github.com/kleinpanic/kleinpanicweb

Opensource repository for my entire website.
https://github.com/kleinpanic/kleinpanicweb

Last synced: 4 months ago
JSON representation

Opensource repository for my entire website.

Awesome Lists containing this project

README

          

# Kleinpanic website

**Kleinpanic** is my personal website and blog where I share tech-related insights, projects, and music. This repository contains the open-sourced portion of the website, excluding sensitive files like `.env`.

---

## Features

- **Blogging platform**: Built with Node.js and Express.
- **Project sharing**: Utilizes GitHub for audio file storage.
- **Custom routes**: Automatically serve different pages for requests from curl or a browser.
- **Responsive Design**: Optimized for both desktop and mobile users.
- **Email Sign-In**: Secure email-based login system.

---

## Getting Started

### Prerequisites

To run this project locally, you'll need:

- [Node.js](https://nodejs.org/en/) (v14 or later)
- [npm](https://www.npmjs.com/) (comes with Node.js)

### Installation

1. **Clone the repository**:
```bash
git clone https://github.com/kleinpanic/kleinpanicWeb.git
```
2. **Navigate to the project dir**
```bash
cd kleinpanicWeb
```
3. **Install Dependencies**
```bash
npm install
```
4. **create an .env file**
> this is for the contact section, and enables email notification features. This should be your email as this is designed to inform yourself about contact attemps.
> Be warned: if using a gmail, you will need to setup an app password and use that instead of your own private email password.
```
EMAIL_ADDDRESS=
EMAIL_PASSWORD=
```
6. Run the development server
```bash
npm run start
```
7. Acces the Website
```bash
http://localhost:port
```

---

## Folder Structure

```plaintext
kleinpanicWeb/

├── public/ # Static files (CSS, images, etc.)
├── views/ # Frontend templates (ejs)
├── routes/ # JS
├── blog/ # Dir to contain blogs
├── package.json # NPM installs.
├── server.js # Entry point for the server
├── .env # Text file for containing secrets
├── stderr.log # Log file created for error logs
├── package.json # File for JS dependencies
├── LICENSE # MIT License
└── README.md # Project documentation

```

---

## Contribution

This is my personal website, but if you want to view it, make your own with a similar view and functionality:

1. clone this repository

2. View code

3. Do whatever

or If you'd like to contribute:

1. Fork this repository.

2. Create a new branch (git checkout -b feature/feature-name).

3. Commit your changes (git commit -m 'Add some feature').

4. Push to the branch (git push origin feature/feature-name).

5. Open a Pull Request.

---

## License

Read the LICENSE file.

---