The next generation of the Teknik Services. Written in ASP.NET. https://www.teknik.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
3.9 KiB

# Teknik Web Services
[![Build Status](https://uncled1023.visualstudio.com/_apis/public/build/definitions/47815734-d274-4bfd-8945-d58f2261b421/1/badge)](https://uncled1023.visualstudio.com/Teknik/_build/index?definitionId=1)
Teknik is a suite of services with attractive and functional interfaces.
## Features
4 years ago
* File Upload w/ client side encryption
* Album Support
* Pastebin
* URL Shortening
* Blogs
4 years ago
* Git Integration (Gitea)
* Podcasts
* Easy to use API
* Flexible installation and configuration
* And much more...
7 years ago
You can see a live demo [here](https://www.teknik.io).
## Requirements
In order to run Teknik on your server, you'll need:
4 years ago
* IIS 7+, Nginx, or Apache
* [.NET Core 2.1 Runtime](https://www.microsoft.com/net/download/) (Or SDK if building the src)
* A SQL Server (MS SQL Server, MySQL, SQLite)
* [hMailServer](https://www.hmailserver.com/download) (If running email service)
* [Gitea](https://github.com/go-gitea/gitea) (If you want to have Git integration)
7 years ago
* Web Mail Client (If you would like to have webmail)
## Installation
4 years ago
* Set up Asp.Net Core to work with your system of choice - [Instructions](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-2.1&tabs=aspnetcore2x)
* Download the latest release for your system - [Releases](https://git.teknik.io/Teknikode/Teknik/releases)
* Copy the files to your local web root directory.
* Create a `ConnectionStrings.config` file in the `App_Data` directory and fill it with the following template and put in your SQL server connection details.
7 years ago
```nohighlight
7 years ago
<connectionStrings>
<add name="TeknikEntities"
providerName="System.Data.SqlClient"
4 years ago
connectionString="<Sql Server Connection String>" />
7 years ago
</connectionStrings>
```
* After the first run, a `Config.json` file will be created in the `App_Data` directory. This will need to be edited with your configuration options.
That's it, installation complete! If you're having problems, let us know through the [Contact](https://contact.teknik.io/) page.
4 years ago
## Building
### Linux
* Clone the Teknik repository to a directory of your choosing.
```nohighlight
cd ~
mkdir src
cd ./src
git clone https://git.teknik.io/Teknikode/Teknik
```
* Install Node.js (Includes npm).
* Run the npm build script `npm run build`.
* This will install, move, bundle, and minify all the client side assets (JavaScript, CSS, Fonts, and Images).
* To see exactly what happens or to modify the bui;d. look at the `gulpfile.js` file.
* Run dotnet publish from the root directory of the repo to build and package the app into the release publish directory (for example: ./Teknik/bin/Release/netcoreapp2.1/publish).
```
dotnet publish --configuration Release
```
* Copy the files in the publish directory to where you want to run the website from.
* Test the website:
* In the directory conatining the published files, run `dotnet Teknik.dll`
* In a browser, open http://localhost:5000/?sub=www
## Authors and contributors
* [Chris Woodward](https://www.teknik.io) (Creator, Developer)
* [dronedaddy](https://www.behance.net/dronedaddy) (Logo Designer)
## License
[BSD 3-Clause license](http://opensource.org/licenses/BSD-3-Clause)
## Development
You can view Teknik's [Development Branch](https://dev.teknik.io/) to see the current new features (It may not work, as it is a development branch).
## Contributing
If you are a developer, we need your help. Teknik is a young project and we have lots of stuff to do. Some developers are contributing with new features, others with bug fixes. Any help you can give would be greatly appreciated!
## Further information
If you want to know more about the features of Teknik, check the [Help](https://help.teknik.io/) page. Also, if you're having problems with Teknik, let us know through the [Contact](https://contact.teknik.io/) page. Don't forget to give feedback and suggest new features! :)