GithubHelp home page GithubHelp logo

milad75rasouli / portfolio Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 1.56 MB

Milad75Rasouli's portfolio

Home Page: https://miladrasouli.darkube.app/

Dockerfile 0.47% Go 65.77% Just 0.22% CSS 3.27% JavaScript 3.61% HTML 11.89% templ 14.77%
portfolio-website resume

portfolio's Introduction

Portfolio

Portfolio aims for you to have your personal weblog. It contains the following parts:

  1. Home Page: A space for you to introduce yourself briefly.
  2. Blog Page: A platform where you can write and showcase your thought to people.
  3. About Me Page: A detailed section where you can write more about yourself.
  4. Contact Page: A communication channel where others can write direct messages to you as an admin.

Here is where you can see my plans for the project. If you have any suggestions to enhance this project, please feel free to open an issue.

Endpoints Table

No. Route Description
1 / Landing page
2 /about-me About me section where you’ll find information about the author
3 /blog Blog list: view a list of blogs
4 /blog/:ID Blog section: view the content of an individual blog
5 /contact Contact form: leave a message for the author
6 /user/sign-in Sign-in page for users
7 /user/sign-up Sign-up page for users
8 /admin Control panel page for managing blogs, users, and contacts
9 /health Check if the pod is running or not

How To Run It

  1. Docker

    • Pull the image
    docker pull ghcr.io/milad75rasouli/portfolio:latest
    • Create config.toml
     touch config.toml
    • Copy the configurations into config.toml
     debug = true
     admin_email = "[email protected]"
    
     [database]
     is_sqlite=true
     connection_timeout="2s"
    
     [cipher]
     paper="verySecurePaper"
     time=2
     memory=131072 #128\*1024
     Thread=5
    
     [jwt]
     refresh_secret_key="key1234567890" # it should be over 48 characters long to be secure
     access_secret_key="key123456" # it should be over 32 characters long to be secure
    • Change the config file (admin_email, paper must be changed)

    • Run the Image

    sudo docker run -v "$(pwd)"/config.toml:/app/config.toml -p 80:5001 ghcr.io/milad75rasouli/portfolio:latest
  2. On your Machine. Follow these steps to run:

  • Clone the project
git clone --recursive https://github.com/milad75rasouli/portfolio

Note

if you clone the project without its submodules please run this you get them git submodule update --init --recursive

  • Get the packages:
 cd portfolio
 go mod tidy
  • Download and install templ and set it into the PATH.

  • Download and install just and set it into the PATH.

  • Run it

just run

K8S

  1. Run minikube:
minikube start

Tip

You might need to send the image to minikube: eval $(minikube docker-env)

  1. Apply the file:
kubectl apply -f deployment.yml

Tip

See your services: kubectl get services See your pods; kubectl get pods

  1. Expose the service to see the website:
minikube service portfolio-service

Then, visit the displayed address in your browser.

Contribution

Your contributions to this project are welcome. Please feel free to open issues and send pull requests.

portfolio's People

Contributors

milad75rasouli avatar ali-assar avatar

Stargazers

 avatar  avatar  avatar Hossein Mortazavifar avatar Mahdi Tanbakuchi avatar Fatemeh Yaghoobi avatar parisa etemadinejad avatar

Watchers

 avatar

Forkers

ali-assar

portfolio's Issues

role system

the website needs to have an admin that has access to the control panel and others can leave comments on the post

404 page

  • contact page in dark night text issue

making html pages

making some html pages from sign-in, sign-up, homepage, blog, blogs' list with HTMX and 960 css

refactor

  • good messages and errors in admin panel
  • increase the char limit for body of a blog

user auth

admin and ppl'd be able to sign in with his github account afterward!
it's consisted of doing:

  • sign in & sign up page

  • controlling the sessions and authorizing users by JWT

k8s

  • deployment.yml

Readme.md

  • a README.md file with all needed information about deploying and architecture

contact

  • get information from control panel
  • save in sqlite
  • show in frontend

about me

  • get items from sqlite
  • save in sqlite
  • show in frontend

initialize the project

make a dummy API
adding docker-compose file, env, Dockerfile
structuring the directories

homepage

  • save in sqlite
  • show them in frontend
  • get items from control panel

README.md2

  • more information about endpoints
  • add information about the MVP table
  • make a table for endpoints

Refactor HTML

  • add templ to the project or use something else to organize the html files
  • comment search bar for now
  • comment out Admin area > Exit
  • Show "It's in development" for blog lists
  • refrain ppl from sign-in and sign-up except admin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.