GithubHelp home page GithubHelp logo

assetto-corsa-web / accweb Goto Github PK

View Code? Open in Web Editor NEW
138.0 22.0 52.0 11.53 MB

Assetto Corsa Competizione Server Management Tool via Web Interface.

License: MIT License

HTML 0.49% JavaScript 7.83% Vue 46.83% Go 40.03% Shell 0.70% Dockerfile 1.29% SCSS 2.61% Makefile 0.22%
assetto-corsa assetto-corsa-competizione server management tool frontend web

accweb's Introduction

Assetto Corsa Competizione Server Web Interface

Discord Shield CircleCI Go Report Card

The successor of acweb! accweb lets you manage your Assetto Corsa Competizione servers via a nice and simple web interface. You can start, stop and configure server instances and monitor their status.

Table of contents

  1. Features
  2. Changelog
  3. Installation
  4. Docker
  5. Backup
  6. Contribute and support
  7. Build release
  8. Links
  9. License
  10. ACCWeb Discord Server

Features

  • create and manage as many server instances as you like
  • configure your instances in browser
  • start/stop instances and monitor their status
  • view server logs
  • copy server configurations
  • import/export server configuration files
  • delete server configurations
  • three different permissions: admin, mod and read only (using three different passwords)
  • easy setup
    • no database required
    • simple configuration using environment variables

Changelog

See CHANGELOG.md.

Installation and configuration

accweb is installed by extracting the zip on your server, modifing the YAML configuration file to your needs and starting it in a terminal.

Manuall installation

  1. download the latest release from the release section on GitHub
  2. extract the zip file on your server
  3. edit the config.yml to match your needs
  4. open a terminal
  5. change directory to the accweb installation location
  6. start accweb using ./accweb on Linux and accweb.exe on Windows
  7. leave the terminal open (or start in background using screens on Linux for example)
  8. visit the server IP/domain and port you've configured, for example: http://example.com:8080

I recommend to setup an SSL certificate, but that's out of scope for this instructions. You can enable a certificate inside the config.yml.

Note that you have to install wine if you're on Linux.

Docker

Please visite our Docker Hub repository for more information.

https://hub.docker.com/r/accweb/accweb

Backup

To backup your files, copy and save the config directory as well as the config.yml. The config directory can later be placed inside the new accweb version directory and you can adjust the new config.yml based on your old configuration (don't overwrite it, there meight be breaking changes).

Contribute and support

If you like to contribute, have questions or suggestions you can open tickets and pull requests on GitHub.

All Go code must have been run through go fmt. The frontend and backend changes must be (manually) tested on your system. If you have issues running it locally open a ticket.

To run the accweb locally is really simple, make sure that the attribute dev is set to true in your config.yml file.

Frontend development environment

Our current frontend was built using Vue.js and can be found inside public directory.

To run the watcher use the following command.

make run-dev-frontend

Then when you edit any js file, the watcher will detect and rebuild the js package.

Backend development environment

ACCweb backend is running over golang and can be found inside internal directory.

Use the following command to run the backend on your terminal.

make run-dev-backend

Keep in mind that you need to restart the command for see the changes that you made in the code working (or not 🤪)

Visual Studio Code - Remote container

There is a pre-built development environment setup for ACCWeb for Visual Studio Code and Remote Containers. Please, check here how to setup and use: https://code.visualstudio.com/docs/remote/containers

Build release

To build a release, execute the build_release.sh script (on Linux) or follow the steps inside the script. You need to pass the build version as the first parameter. Example: To build a release, execute the build_release.sh script (on Linux) or follow the steps inside the script. You need to pass the build version as the first parameter. Example:

./build/build_release.sh 1.2.3

This will create a directory releases/accweb_1.2.3 containing the release build of accweb. This directory can be zipped, uploaded to GitHub and deployed on a server.

Links

License

MIT

ACCWeb Discord Server

Join us on our Discord server to get and provide support.

ACCWeb Discord

accweb's People

Contributors

akuzia avatar alotufo avatar cestcomi avatar cjoneill avatar dam09fr avatar dependabot[bot] avatar dropthehate avatar fattylewis avatar geppo1988 avatar gillesdubois avatar github-actions[bot] avatar infernvs avatar itsmylife44 avatar jovimpc avatar kj5d avatar klj613 avatar kugelschieber avatar likeaninja5 avatar matslindh avatar morphyum avatar motorschpocht avatar mrpbdy avatar pedrofaria avatar smaxx1337 avatar tom21798 avatar wakcs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

accweb's Issues

Log Output

What is this supposed to show anyway? I have never seen any text in there since I started using this interface long ago.

I'm looking for an easy way to see driver connects with info, like Steam64 ID and such, instead of searching through the text log file in the folder.

[Suggestion] Add centralEntryListPath

"Can override the default entryList path “cfg/entrylist.json”, so multiple ACC servers on the machine can use the same entrylist (and custom car files). Set a full path like “C:/customEntryListSeriesA/”, where the entrylist is stored. Attention: The path seperators have to be slashes ( / ), backslashes ( \ ) will not work."

assistRules.json Import

Hi,

When I wan't to import Server settings, using assistRulse created like it's meant to be:

{ "stabilityControlLevelMax": 100, "disableAutosteer": 1, "disableAutoLights": 0, "disableAutoWiper": 0, "disableAutoEngineStart": 0, "disableAutoPitLimiter": 0, "disableAutoGear": 1, "disableAutoClutch": 0, "disableIdealLine": 1 }

Then I get an "Error importing configuration files, please check your input."

It's because the import only accepts files with "true" "false" and not "0" "1" like this one:

{"configVersion":1,"stabilityControlLevelMax":100,"disableAutosteer":true,"disableAutoLights":false,"disableAutoWiper":false,"disableAutoEngineStart":false,"disableAutoPitLimiter":false,"disableAutoGear":true,"disableAutoClutch":false,"disableIdealLine":true}

Is it possible to fix this and also accept import of standard fomated files?

New tracks support (2019)

Hi,

New track added in ACC 1.1

zandvoort
monza_2019
zolder_2019
brands_hatch_2019
silverstone_2019
paul_ricard_2019
misano_2019
spa_2019
nurburgring_2019
barcelona_2019
hungaroring_2019
zandvoort_2019

Assist rules are not being saved

All the below settings can not be changed. When I change it and save the config on return it is still default.

Stability Control Level Max: 0 to 100 max
100
Disable Auto-Steer
Disable Auto-Lights
Disable Auto-Wiper
Disable Auto-Engine Start
Disable Auto Pit Limiter
Disable Auto-Gear
Disable Auto-Clutch
Disable Ideal Line

Error! cannot find public key..version 1.6.1

(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>cd C:\Users\Administrator\Desktop\accweb_1.6.1

C:\Users\Administrator\Desktop\accweb_1.6.1>start.cmd

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem Adjust this file to match your needs.

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem sets host and port

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem 80 is the default port for web servers and meight be blocked on your machine

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem in that case, change it to anything else, e.g. 8080

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_HOST=0.0.0.0:90

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem IMPORTANT must be set, use strong different passwords for each

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_ADMIN_PASSWORD=admin

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_MOD_PASSWORD=mod

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_RO_PASSWORD=ro

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem these files must exist

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_TOKEN_PUBLIC_KEY=secrets/token.public

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_TOKEN_PRIVATE_KEY=secrets/token.private

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem create this directory in your installation directory

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_CONFIG_PATH=config/

C:\Users\Administrator\Desktop\accweb_1.6.1>Rem set the installation path of the ACC server

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_SERVER_DIR=C:\Program Files (x86)\Steam\steamapps\common\Assetto Corsa Dedicated Server

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_LOGLEVEL=info

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_ALLOWED_ORIGINS=*

C:\Users\Administrator\Desktop\accweb_1.6.1>set ACCWEB_SERVER_EXE=accServer.exe

C:\Users\Administrator\Desktop\accweb_1.6.1>accweb.exe
time="2020-02-06T11:29:25+11:00" level=fatal msg="Token public key file not found" err="open secrets/token.public: The system cannot find the file specified." file=secrets/token.public

C:\Users\Administrator\Desktop\accweb_1.6.1>start.cmd

Default Grid Position wrong position?

According to Server handbook 7c, the defaultGridPosition should not be within the Driver tag.

{
"drivers": [
{
"firstName": "First",
"lastName": "Driver",
"shortName": "NO1",
"driverCategory": 2,
"playerID": "S765611xxxxxxxxxx3"
},
{
"firstName": "Another",
"lastName": "Person",
"shortName": "NO2",
"driverCategory": 1,
"playerID": "S765611xxxxxxxxxx4"
}
],
"raceNumber": 114,
"forcedCarModel": -1,
"overrideDriverInfo": 0,
"defaultGridPosition": -1,
"ballastKg": 0,
"restrictor": 0,
"customCar": "exampleCar.json",
"overrideCarModelForCustomCar": 1,
"isServerAdmin": 0
}

Copy/Edit Serverconfig / "Error stopping server"

Hi,

short version :)

  • I clicked on the copy config button on a server
  • Server was duplicated and instantly started up
  • stopped the server (wanted to edit it before it goes online)
  • received "Error stopping server"
  • can not start or stop the servers, must restart the webapp

Terminal Output:


time="2019-06-05T19:25:26+02:00" level=info msg="Stopping server instance..." id=1559755519
time="2019-06-05T19:25:26+02:00" level=error msg="Error stopping instance sending an interrupt, trying to kill it next" error="not supported by windows"
time="2019-06-05T19:25:26+02:00" level=error msg="Server stopped with an error" err="exit status 1"
time="2019-06-05T19:25:26+02:00" level=info msg="Server stopped" id=1559693904
time="2019-06-05T19:25:26+02:00" level=error msg="Error closing server log file" error="invalid argument"
time="2019-06-05T19:25:28+02:00" level=info msg="Stopping server instance..." id=1559755519
time="2019-06-05T19:25:28+02:00" level=error msg="Error stopping instance sending an interrupt, trying to kill it next" error="invalid argument"
time="2019-06-05T19:25:29+02:00" level=error msg="Error stopping instance sending kill signal" error="invalid argument"

I had the same issue yesterday on editing a started server. I dont know if this is intented to edit a running server without stopping it before saving the config?

Stopping a server manually, edit it and starting it works correctly.

Best regards

Auto results

Hi! Great job you are doing. Thankyou very much for all your efforts, any chance of adding another menu so we can auto load results as well would be much appreciated. Thankyou eg..
auto_upload

End of line change in release 1.4.0

Hello,

In release 1.4.0 it seems that EOL is now CR+LF (Windows style), instead of LR (Unix style) in previous.

My docker builds are not working anymore ...
Did you do that for a specific reason ?

Thank you in advance for your answer.

Screenshot

Wrong start.cmd?

Is it supposed to look like this in the latest version? I downloaded accweb_1.8.0.zip
Because export and stuff doesn't work. Using Windows.

# Adjust this file to match your needs.

# sets host and port
# 80 is the default port for web servers and meight be blocked on your machine
# in that case, change it to anything else, e.g. 8080
export ACCWEB_HOST=0.0.0.0:80

# IMPORTANT must be set, use strong different passwords for each
export ACCWEB_ADMIN_PASSWORD=
export ACCWEB_MOD_PASSWORD=
export ACCWEB_RO_PASSWORD=

# these files must exist
export ACCWEB_TOKEN_PUBLIC_KEY=secrets/token.public
export ACCWEB_TOKEN_PRIVATE_KEY=secrets/token.private

# create this directory in your installation directory
export ACCWEB_CONFIG_PATH=config/

# export the installation path of the ACC server
export ACCWEB_SERVER_DIR="/home/username/.steam/steam/steamapps/common/Assetto Corsa Competizione/server"

export ACCWEB_LOGLEVEL=info
export ACCWEB_ALLOWED_ORIGINS=*
export ACCWEB_SERVER_EXE=accServer.exe

./accweb

This is what I have in earlier versions. Like 1.6.0

Rem Adjust this file to match your needs.

Rem sets host and port
Rem 80 is the default port for web servers and meight be blocked on your machine
Rem in that case, change it to anything else, e.g. 8080
set ACCWEB_HOST=localhost:80

Rem IMPORTANT must be set, use strong different passwords for each
set ACCWEB_ADMIN_PASSWORD=
set ACCWEB_MOD_PASSWORD=
set ACCWEB_RO_PASSWORD=

Rem these files must exist
set ACCWEB_TOKEN_PUBLIC_KEY=secrets/token.public
set ACCWEB_TOKEN_PRIVATE_KEY=secrets/token.private

Rem create this directory in your installation directory
set ACCWEB_CONFIG_PATH=config/

Rem set the installation path of the ACC server
set ACCWEB_SERVER_DIR=D:\games\Steam\steamapps\common\Assetto Corsa Competizione\server

set ACCWEB_LOGLEVEL=info
set ACCWEB_ALLOWED_ORIGINS=*
set ACCWEB_SERVER_EXE=accServer.exe

accweb.exe

Support for New DLC?

Would be great if support for tracks from the Intercontinental GT Pack DLC would be added to setup servers with.

  • Kyalami Grand Prix Circuit (South Africa)
  • Suzuka Circuit (Japan)
  • Weathertech ®️ Raceway Laguna Seca (USA)
  • Mount Panorama Circuit (Australia)

Great work anyhow.
Thanks in advance.

Wine support

Support Linux by using wine to start the server.

accweb.exe is not recognised

Hi there,

I have a really weird issue while I am trying to run start.cmd Basically at the end of the line it is not able to detect the accweb app and therefore it is not able to run the server.

I was trying to hcange the location of the parent folder but it doesn't solve the issue. There is a SC:
image

I don't know if it matters but it seems like main is set for "/" while on Windows there is "\".

Can't Copy 'config' folder to New Version

My current servers don't have bop.json and can't start the program because of it.

time="2020-04-10T14:39:33+02:00" level=fatal msg="Error loading server settings" error="open config\\1581095496\\bop.json: Det går inte att hitta filen." name=1581095496

Log output wrong logs (after clone?)

Hi,
I cloned configuration from one server to another, then changed settings. When I start the server and want to check the logs, the output window shows wrong logs. The server log file in config directory is fine, so I don't know where are the output from. See screenshots.
bug1
bug2
bug3

Token.public not being found

This is my first time trying your server tool so im not sure if I'm doing correctly or not. And sorry if this is overly detailed. Just want to make sure all relevent info is given.

I created the "secrets" folder in the accweb_1.4.0 folder and then generated public and private keys and put them in their own text documents. Then named them accordingly ("token.public" and "token.private"). After following the rest of the instructions I open a CMD window and go the the accweb1.4.0 folder and type the command "start.cmd". At the end of the command prompt it says

time="2019-10-08T20:02:30-04:00" level=fatal msg="Token public key file not found" err="open secrets/token.public: The system cannot find the file specified." file="secrets/token.public"

I've deleted them and recreated the folder and tokens multiple times but I still get the same error message.

exit status 3221225781

Hello

For some days server can't start.
Logs are empty :(

I tryed to delete instance, create new one.

thanks in advance for your time.
Xavi

Password encryption

Hi,

I'm not really a GO / Vue expert thus i don't know if this is complex to implement or not but it would be nice to have encrypted password in the config.yml.

For obvious security reason its always nice to have encrypted pass even if i guess that most people run this app behind a proxy or with a restricted access.

Regards,
Gilles Dubois.

Saved Settings Not Applied

So I have setup this for my server for the event rules.
These settings are saved in the root of the ID folder of the server and also in the cfg folder, but not in current, which seems to be the final settings for when the server goes live.

ID/eventRules.json
ID/cfg/eventRules.json

{
    "configVersion": 1,
    "qualifyStandingType": 1,
    "pitWindowLengthSec": 600,
    "driverStintTimeSec": -1,
    "mandatoryPitstopCount": 1,
    "maxTotalDrivingTime": -1,
    "maxDriversCount": 1,
    "isRefuellingAllowedInRace": true,
    "isRefuellingTimeFixed": false,
    "isMandatoryPitstopRefuellingRequired": false,
    "isMandatoryPitstopTyreChangeRequired": true,
    "isMandatoryPitstopSwapDriverRequired": false
}

But in the current folder eventRules.txt after starting my server these are the settings.
So when the server goes live it uses these settings I'm guessing, because the mandatory pitstop I setup did not work. There was no pit window and requirement field was blank.

ID/cfg/current/eventRules.txt

{
    "qualifyStandingType": 1,
    "superpoleMaxCar": -1,
    "pitWindowLengthSec": -1,
    "driverStintTimeSec": -1,
    "isRefuellingAllowedInRace": true,
    "isRefuellingTimeFixed": false,
    "maxDriversCount": 1,
    "mandatoryPitstopCount": -1,
    "maxTotalDrivingTime": -1,
    "isMandatoryPitstopRefuellingRequired": false,
    "isMandatoryPitstopTyreChangeRequired": false,
    "isMandatoryPitstopSwapDriverRequired": false,
    "tyreSetCount": 50
}

accweb is not existing

Hi there.

In start.sh I can see ./accweb as the last line but accweb does not exist.

Any hints?

How do I use 'Central Entry List Path'?

I have tried:
C:\__\games\ACC Server Fresh\global_entrylist.json
C:/__/games/ACC Server Fresh/global_entrylist.json
"C:\__\games\ACC Server Fresh\global_entrylist.json"
"C:/__/games/ACC Server Fresh/global_entrylist.json"

Nothing works. Server won't start.

Internal serveur error

Hi. thanks for the great work. On Linux, issue with webserver. Displays a 500 internal error whatever the config.

Next update

I'm sorry to speak here, but is the project still being followed and can we expect an update soon?
We have even more parameters which have been added via the "assistRules.json" file.
The latest ServerAdminHandbook is in version 7c.
Thank you.
ServerAdminHandbook_v7c.pdf

BaseUrl support

Hi,

is it possible to add a variable for a BaseUri? So for example, instead of xxx.xxx.xxx.xxx/ the app is working under xxx.xxx.xxx.xxx/accweb/ ?

I have some problems with my nginx reverse proxy. It doesnt load the js, css ressources.

Or maybe some tipps for a proxy setup?

location /ACCWEB/ {

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

        proxy_pass http://xxx.xxx.xxx.xxx:8080/;
}

"exit status 1" v1.6.1

D:\games\_utils\ACC Server Manager>accweb.exe
time="2020-02-07T18:02:05+01:00" level=info msg="Configure logging..."
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_ALLOWED_ORIGINS=*"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_CONFIG_PATH=config/"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_HOST=localhost:80"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_LOGLEVEL=info"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_SERVER_DIR=D:\\games\\Steam\\steamapps\\common\\Assetto Corsa Competizione\\server"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_SERVER_EXE=accServer.exe"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_TOKEN_PRIVATE_KEY=secrets/token.private"
time="2020-02-07T18:02:05+01:00" level=info msg="ACCWEB_TOKEN_PUBLIC_KEY=secrets/token.public"
time="2020-02-07T18:02:05+01:00" level=info msg="Loading build.js..."
time="2020-02-07T18:02:05+01:00" level=info msg="Loading server list..."
time="2020-02-07T18:02:05+01:00" level=info msg="Server list loaded successfully" servers=1
time="2020-02-07T18:02:05+01:00" level=info msg="Configuring CORS..."
time="2020-02-07T18:02:05+01:00" level=info msg="Starting server..."
time="2020-02-07T18:02:05+01:00" level=info msg="Using HTTP read/write timeouts" read_timeout=20 write_timeout=20
time="2020-02-07T18:02:08+01:00" level=info msg="Starting server instance..." id=1581094830
time="2020-02-07T18:02:08+01:00" level=warning msg="config\\1581094830"
time="2020-02-07T18:02:08+01:00" level=info msg="Server started" PID=5524
time="2020-02-07T18:02:09+01:00" level=error msg="Server stopped with an error" err="exit status 1"
time="2020-02-07T18:02:09+01:00" level=info msg="Server stopped" id=1581094830

Pit stop support (eventRules.json)

Hi.

New event settings for Pit stop.

{
"qualifyStandingType": 1,
"pitWindowLengthSec": -1,
"driverStintTimeSec": -1,
"mandatoryPitstopCount": 0,
"maxTotalDrivingTime": -1,
"maxDriversCount": 1,
"isRefuellingAllowedInRace": true,
"isRefuellingTimeFixed": false,
"isMandatoryPitstopRefuellingRequired": false,
"isMandatoryPitstopTyreChangeRequired": false,
"isMandatoryPitstopSwapDriverRequired": false
}

Assists Rules Menu / Cannot manually validate choices among various criteria

Hello,

First, very well done job for the awesome and very reliable program you have created.

I'm using a lot Accweb server program to set lobbies in ACC, and since version 1.8.0 and now 1.9.1, assists rules sub menu is available to allow or ban any of the various criteria. The matter is, whatever the selections I manually choose in this menu when I'm situated in the Localhost, as soon as I save the settings, the program brings back to default settings the assists rules menu, so I cannot "control" it. This is disturbing cause it every time allows stability control to 100% and all the assists...

Also, in 1.8.0 version, amazingly, here by default in the assist rules menu, stability control is at zero, ideal line disable. Nevertheless, If for example I activate idela line in the game whole settings, I can you it on track... Furthermore, in the same way (like V. 1.9.1), i cannot manually change assist criteria.

I thank you anyone in advance for any assistance you may offer me.
Regards.

Assists rules settings are loaded on edit

Hello,
Sorry I dont have a lot of time to fix this myself these days ...
I noticed that since I upgrade to 1.9.0 the settings of the new "Assists rules" section are not loaded at next edit time causing frequent reset to default values when I change others settings.
Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.