Skip to content

API for efficiently managing portfolio content, facilitating dynamic updates to the frontend

License

Notifications You must be signed in to change notification settings

YagoInacio/portfolio-server

Repository files navigation

GitHub language count Repository size GitHub last commit License Made by Yago Faran

Logo Yago Faran

AboutTech StackFeaturesHow it worksAuthorLicense

💻 Portfolio Server

This API is designed to improve the management of project and experience information for your portfolio website, ensuring a seamless rendering and effortless updating process. Additionally, it facilitates interaction with Firebase Storage, allowing you to efficiently load and display icons and images, enhancing the overall visual experience of your portfolio.

🛠 Tech Stack

✨ Features

  • Technologies:

    • Create
    • List
    • Enable/Disable
  • Experiences:

    • Create
    • List
    • Update
  • Projects

    • Create
    • List
    • Enable/Disable
    • Update
  • Images:

    • Get Images
    • Get Icons

🚀 How it works

This instructions will allow you to run a functional version of the project on your local machine.

📋 Pre-requisites

Before you begin, you will need to have the following tools installed on your machine: Git, Go. In addition, it is good to have an editor to work with the code like VSCode

🔧 Instalation

# Clone this repository
$ git clone git@github.com:yagoinacio/portfolio-server.git

# Access the project folder cmd/terminal
$ cd project

# install the dependencies
$ go mod tidy

🔧 Configuration

To be able to run the application you need to set up the environment variables.

For that, create the subfolder credentials on the project's root folder.

On the credentials folder, create the file .env. You can follow the example bellow:

# db.env.properties:
API_PORT=9000
DATABASE_URL="mongodb+srv://[USERNAME]:[PASSWORD]@[HOST]/[DATABASE]?retryWrites=true&w=majority"
DATABASE_NAME=mongo_database

#  make sure to replace [USERNAME], [PASSWORD], [HOST], and [DATABASE] with actual values

You will also need to add your firebase credentials file to the credentials folder with the name firebase_credentials.json.

🎲 Running the application

# Run the application in development mode
$ go run ./cmd/portfolio/main.go

# The server will start at port: 9000 - go to http://localhost:9000

You can try out the API using its swagger documentation on http://localhost:9000/swagger-ui/index.html

✅ Running automated tests

# Run automated tests
$ go test ./...

# The test automation will run for unit tests

🦸 Author


Yago Faran 💧

Github Badge Linkedin Badge Gmail Badge

📝 License

This project is under the license MIT.

Made with ❤️ by Yago Faran 👋🏽 Get in touch!

About

API for efficiently managing portfolio content, facilitating dynamic updates to the frontend

Topics

Resources

License

Stars

Watchers

Forks