https://github.com/devsimsek/sdf-go
A new way to create web applications using go and sdf framework.
https://github.com/devsimsek/sdf-go
Last synced: 20 days ago
JSON representation
A new way to create web applications using go and sdf framework.
- Host: GitHub
- URL: https://github.com/devsimsek/sdf-go
- Owner: devsimsek
- License: mit
- Created: 2022-02-01T20:05:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-07T08:52:14.000Z (over 2 years ago)
- Last Synced: 2024-05-02T04:20:42.761Z (about 2 years ago)
- Language: Go
- Homepage: https://sdfgo.smsk.me
- Size: 29.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
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
## 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.
### Built With
- SDF Built-in Session
- Built-in Database Solution
- [Go v1.17](https://go.dev/)
- devsimsek's goUtils
Most of the parts are created from scratch. Soon this framework will be
independent
## 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
```sh
git clone https://github.com/devsimsek/sdf-go.git
```
2. Install Required Go Packages
```sh
go get
```
3. Enter your session secret in `.env`
```
SESSION_SECRET='ENTER YOUR API';
```
4. Create Your Example Handler
```go
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)
}
```
## Usage
Just open handlers directory and create a new handler :) You should be good to
go :)
_For more examples, please refer to the
[Documentation](https://github.com/devsimsek/sdf-go/wiki)_
## Roadmap
- [ ] Create Model Support (Maybe)
- [x] Create Session Library
- [x] 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](https://github.com/devsimsek/sdf-go/issues) for a full
list of proposed features (and known issues).
## 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
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
## Contact
Devsimsek - [@devsimsek](https://linkedin.com/in/devsimsek) -
devsimsek@outlook.com
Project Link:
[https://github.com/devsimsek/sdf-go](https://github.com/devsimsek/sdf-go)
[contributors-shield]: https://img.shields.io/github/contributors/devsimsek/sdf-go.svg?style=for-the-badge
[contributors-url]: https://github.com/devsimsek/sdf-go/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/devsimsek/sdf-go.svg?style=for-the-badge
[forks-url]: https://github.com/devsimsek/sdf-go/network/members
[stars-shield]: https://img.shields.io/github/stars/devsimsek/sdf-go.svg?style=for-the-badge
[stars-url]: https://github.com/devsimsek/sdf-go/stargazers
[issues-shield]: https://img.shields.io/github/issues/devsimsek/sdf-go.svg?style=for-the-badge
[issues-url]: https://github.com/devsimsek/sdf-go/issues
[license-shield]: https://img.shields.io/github/license/devsimsek/sdf-go.svg?style=for-the-badge
[license-url]: https://github.com/devsimsek/sdf-go/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/devsimsek