Welcome to the FelixHub website repository. This is a personal website and API project designed to showcase my work, projects, and contributions to the development community.
Click here to visit the live website!
FelixHub is a personal web project aimed at providing a platform to share my projects and contributions. It hosts a variety of tools, resources, and information about my journey as a developer. This repository is a part of that project and includes the code and setup used for the website and API.
Important: The AI features on the website require Ollama to be installed. Please ensure that you have Ollama set up to use the AI functionality.
- Showcase of projects with images and descriptions
- Interactive API to demonstrate functionality
- Clean and responsive design for all devices
- User authentication for secure login and session management
- Show documentation for the project and its APIs
This project is built using the following technologies:
- Frontend: HTML, CSS, JavaScript, TypeScript
- Backend: Node.js, Fastify
- Real-time Interaction: Redis (for message queues)
- Code Highlighting: Highlight.js (for displaying code snippets)
- AI Interaction: Ollama (for integrating AI models)
- Ngrok: For tunneling HTTP requests from felixhub to ngrok url to the local server
- Containerization: Docker (for building and deploying the app)
- Kubernetes: K3s (for container orchestration)
To set up this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Feelfeel20088/felixhub.dev.git cd felixhub.dev
-
Install dependencies using npm:
npm install
-
Set up environment variables:
Create a
.env
file at the root of the project and add your necessary API keys, database credentials, etc. Example:DATABASE_URL=your_database_url API_KEY=your_api_key REDIS_URL=your_redis_url
-
Start the server:
npm start
The website should now be accessible at
http://localhost:8080
.
If you prefer using Docker to run the project, you can pull the pre-built container from Docker Hub and run it:
-
Pull the Docker image:
docker pull feelfeel200088/felixhub
-
Run the container:
docker run -p 8080:8080 feelfeel200088/felixhub
This will run the project in a Docker container, and the website will be accessible at
http://localhost:8080
.
For those who want to deploy using Kubernetes, you can use the deployments.yaml
file.
-
navigate to the deployments directory and apply the Kubernetes configuration:
cd deployments
kubectl apply -f ./
This will deploy the website to your Kubernetes cluster.
-
view the website:
http://<ANY_NODE_IP>:30000/
if you understand kuberneties you can modify the
deployment.yaml
file to your liking to even exspose the website to the internet
- Navigate through the website to view different projects.
- Use the API to interact with available resources (details of the API are hosted on the website).
- For project contributors, clone this repository, make changes, and submit pull requests for review.
If you'd like to contribute to this project, follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Make your changes.
- Commit your changes (
git commit -m "Description of your changes"
). - Push to the branch (
git push origin feature-name
). - Submit a pull request to the main repository.
Please make sure to follow the coding standards and write tests where applicable.
This project is licensed under the MIT License - see the LICENSE file for details.
Thank you for visiting FelixHub! Feel free to explore the projects and contribute to the repository.