Skip to content

A new way to create web applications using go and sdf framework.

License

Notifications You must be signed in to change notification settings

devsimsek/sdf-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


SDF GO

A new way to create web applications using go and sdf framework
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

Sdf is firstly created for my favorite web language, php! But in time I've looked go, c#, python (flask) and more languages for web just in case I need them. Then I noticed the power of go. I started this project like 2 days ago 30/01/2022 and it is now published under development version v1.0.

It is not finished or not available for production!

I will work on this project. This project is now my main focus.

(back to top)

Built With

  • SDF Built-in Session
  • Built-in Database Solution
  • Go v1.17
  • devsimsek's goUtils

Most of the parts are created from scratch. Soon this framework will be independent

(back to top)

Getting Started

Please follow steps bellow.

Prerequisites

This is an example of how to prepare your application to use the sdf and how to install requirements of sdf.

  • Git
  • Go v1.17

Installation

  1. Clone the repo

    git clone https://github.com/devsimsek/sdf-go.git
  2. Install Required Go Packages

    go get
  3. Enter your session secret in .env

    SESSION_SECRET='ENTER YOUR API';
    
  4. Create Your Example Handler

      package handlers
      import (
          "SDF/core"
          "fmt"
          "net/http"
      )
    
      func init() {
           core.RegisterHandle("/", homeHandler, "GET")
         }
    
      func homeHandler(w http.ResponseWriter, r *http.Request) {
           // Load View
    	         _, err := fmt.Fprintf(w, core.LoadView("views/home.html", core.PageData{
    	             PageTitle: "Home",
    	             PageBody: map[string]interface{}{"version": "v1.0"},
          }))
          core.CheckError(err)
       }

(back to top)

Usage

Just open handlers directory and create a new handler :) You should be good to go :)

For more examples, please refer to the Documentation

(back to top)

Roadmap

  • Create Model Support (Maybe)
  • Create Session Library
  • Create Email Library (Will be published soon)
  • Create Templating Engine (barebones)
  • CSRF and DDOS protection
  • Integration With sdf-php to sdf-go
  • Release v1.0 Public
  • Support MVC (Maybe)

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Devsimsek - @devsimsek - devsimsek@outlook.com

Project Link: https://github.com/devsimsek/sdf-go

(back to top)

About

A new way to create web applications using go and sdf framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published