Files
kleinpanicWeb/README.md
2024-10-23 12:34:02 -04:00

109 lines
2.7 KiB
Markdown

# 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.
---