This project provides a sample image hosting service using golang (database, backend) and nextjs (frontend)
Phost started with my goal to develop a sample database using Golang. At the moment it has a very simple storage logic, but it is a database with its own syntax and its own business logic to understand how popular sql servers work. I aim to develop this database in the future to make it more complex.
After developing the database section, I wanted to make the whole system an interface instead of just leaving it with virtual tests. I prepared a backend service that handles CRUD operations and a simple interface that users can interact with.
- Basic Database
- CRUD operations
- Unit tests
- CI/CD using Github Actions
- Clone this project:
git clone https://github.com/afurgapil/phost.git
- Navigate to the project directory:
cd phost
- Check
.env
files - Install database dependencies:
cd database || go mod tidy
- Install backend dependencies:
cd backend || go mod tidy
- Install frontend dependencies:
cd frontend || npm install
- Clone this project:
git clone https://github.com/afurgapil/phost.git
- Navigate to the project directory:
cd phost
- Check
.env
files - Run database:
cd database || go run cmd/phost/main.go
- Run backend:
cd backend || go run cmd/phost-backend/main.go
- Run frontend:
cd frontend || npm run dev
- Database tests:
cd database || go test ./... -v
- Backend tests:
cd backend || go test ./... -v
- Frontend tests:
cd frontend || npm test
If you encounter any issues or have suggestions for improvements, please feel free to contribute. Your feedback is highly appreciated and contributes to the learning experience.
This project is licensed under the MIT License. For more information, please refer to the LICENSE file.