Giter Site home page Giter Site logo

keploy / keploy Goto Github PK

View Code? Open in Web Editor NEW
3.3K 19.0 367.0 171.95 MB

Test generation for Developers. Generate tests and stubs for your application that actually work!

Home Page: https://keploy.io

License: Apache License 2.0

Dockerfile 0.15% Go 98.63% Shell 1.22%
testing test-automation golang productivity api api-testing unit-testing unit-testing-framework go testing-tools

keploy's Introduction

keploy logo

⚡️ API tests faster than unit tests, from user traffic ⚡️

🌟 The must-have tool for developers in the AI-Gen era 🌟


Keploy is developer-centric API testing tool that creates tests along with built-in-mocks, faster than unit tests.

Keploy not only records API calls, but also records database calls and replays them during testing, making it easy to use, powerful, and extensible.

Convert API calls to test cases

🐰 Fun fact: Keploy uses itself for testing! Check out our swanky coverage badge: Coverage Status  

📘 Documentation!

Become a Keploy pro with Keploy Documentation.

Record Replay Testing

🚀 Quick Installation

Integrate Keploy by installing the agent locally. No code-changes required.

curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh

🎬 Recording Testcases

Start your app wit Keploy to convert API calls as Tests and Mocks/Stubs.

keploy record -c "CMD_TO_RUN_APP" 

For example, if you're using a simple Python app the CMD_TO_RUN_APP would resemble to python main.py, for Golang go run main.go, for java java -jar xyz.jar, for node npm start..

keploy record -c "python main.py"

🧪 Running Tests

Shut down the databases, redis, kafka or any other services your application uses. Keploy doesn't need those during test.

keploy test -c "CMD_TO_RUN_APP" --delay 10

✅ Test Coverage Integration

To integrate with your unit-testing library and see combine test coverage, follow this test-coverage guide.

If You Had Fun: Please leave a 🌟 star on this repo! It's free, and you'll bring a smile. 😄 👏

🤔 Questions?

Reach out to us. We're here to help!

Slack LinkedIn YouTube Twitter

🌐 Language Support

From Go's gopher 🐹 to Python's snake 🐍, we support:

Go Java NodeJS Rust C# Python

🫰 Keploy Adopters 🧡

So you and your organisation are using Keploy? That’s great. Please add yourselves to this list, and we'll send you goodies! 💖

We are happy and proud to have you all as part of our community! 💖

🎩 How's the Magic Happen?

Keploy proxy captures and replays ALL (CRUD operations, including non-idempotent APIs) of your app's network interactions.

Take a journey to How Keploy Works? to discover the tricks behind the curtain!

Here are Keploy's core features: 🛠

  • ♻️ Combined Test Coverage: Merge your Keploy Tests with your fave testing libraries(JUnit, go-test, py-test, jest) to see a combined test coverage.

  • 🤖 EBPF Instrumentation: Keploy uses EBPF like a secret sauce to make integration code-less, language-agnostic, and oh-so-lightweight.

  • 🌐 CI/CD Integration: Run tests with mocks anywhere you like—locally on the CLI, in your CI pipeline (Jenkins, Github Actions..) , or even across a Kubernetes cluster.

  • 📽️ Record-Replay Complex Flows: Keploy can record and replay complex, distributed API flows as mocks and stubs. It's like having a time machine for your tests—saving you tons of time!

  • 🎭 Multi-Purpose Mocks: You can also use keploy Mocks, as server Tests!

👨🏻‍💻 Let's Build Together! 👩🏻‍💻

Whether you're a newbie coder or a wizard 🧙‍♀️, your perspective is golden. Take a peek at our:

📜 Contribution Guidelines

❤️ Code of Conduct

🐲 Current Limitations!

  • Unit Testing: While Keploy is designed to run alongside unit testing frameworks (Go test, JUnit..) and can add to the overall code coverage, it still generates integration tests.
  • Production Lands: Keploy is currently focused on generating tests for developers. These tests can be captured from any environment, but we have not tested it on high volume production environments. This would need robust deduplication to avoid too many redundant tests being captured. We do have ideas on building a robust deduplication system #27

✨ Resources!

🤔 FAQs

🕵️‍️ Why Keploy

⚙️ Installation Guide

📖 Contribution Guide

keploy's People

Contributors

aerowisca avatar ahmedlotfy02 avatar akash-singh04 avatar akashkumar7902 avatar ananupam avatar ayush7614 avatar charankamarapu avatar ditsuke avatar edwinwalela avatar erakin575 avatar gouravkrosx avatar hermione2408 avatar khanjasir90 avatar krishnakalani111 avatar madhavsikka avatar michaelgrigoryan25 avatar nehagup avatar officialasishkumar avatar pankhudib avatar petergeorgas avatar pradhyuman-sharma avatar pranshusrivastava avatar re-tick avatar sarthak160 avatar seipan avatar shivamsouravjha avatar slayerjain avatar sonichigo avatar tomargovind avatar yaxhveer 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

keploy's Issues

[docs]: update in docs

What do you want to add to the docs? (please state reasons if any)

No response

Where is this stated?

No response

[feature]: add support for arm64 docker images

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add support for arm64 along with existing amd64 in docker build

Why should this be worked on?

ARM64 systems are becoming popular, especially with people who are using M1 MacBooks or using AWS Graviton EC2 instances. Providing native ARM images will improve performance.

[feature]: Add Video Demo Url to Readme

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add Keploy Demo Video Url from youtube to Readme.

Why should this be worked on?

It'll help users to understand via video.

TestJsonDiff not working correctly

Describe the bug
I found a case in which TestJsonDiff doesn't work correctly. I've also added a test case for it in the test file.

To Reproduce
Steps to reproduce the behavior:
Run this test case -

exp: `{"data":{"url":"http://localhost:8080/GMWJGSAP"},"status":200}`,

Expected behavior
It should return false for the inputs but returns true.

[feature]: Implement smarter deduplication with prioritisation

Is your feature request related to a problem? Please describe.
Test cases captured from API traffic from live environments need smarter deduplication

Describe the solution you'd like
It would be better to build a deduplication algorithm that also accounts for redundant code paths apart from just the request params. It would also be cool to add a prioritization algorithm that could be configurable to maintain the 'N' most important test cases based on occurrences, code paths, etc.

Describe alternatives you've considered
Need research

Additional context
This can help significantly reduce the number of test cases to maintain without sacrificing quality.

[feature]: Generate extra test cases from existing tests using Fuzz tests

Is your feature request related to a problem? Please describe.
Fuzz testing can help generate extra test cases which could invoke different code paths.

Describe the solution you'd like
Adding only such tests that invoke a unique different code path will ensure high-quality fuzz tests.

Describe alternatives you've considered
Need research

Additional context
go test already supports fuzz testing natively. so it's becoming really popular.

[docs]: Add details for 3 different Keploy SDK Modes

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add 3 different modes of Keploy SDK in the readme.

Record: Sets to record mode.
Test: Sets to test mode.
Off: Turns off all the functionality provided by the API

Note: KEPLOY_MODE value is case sensitive.

Take inspiration from https://github.com/keploy/go-sdk#configure

Why should this be worked on?

Users will have better undedstanding about different modes and what exactly needs to be set in the env variable since it's currently case sensitive

Implement pagination in queries

Is your feature request related to a problem? Please describe.
Pagination is a basic feature that's needed once any users go beyond 25-30 test cases or runs.

Describe the solution you'd like
We could implement offset-based pagination since the data is not very dynamic.

Describe alternatives you've considered
Cursor-based pagination seems unnecessary at this point but can be considered too.

Additional context
testRun and testCase queries should definitely have pagination

Fix code scanning alert - Log entries created from user input

Tracking issue for:

If the above issue returns 404 please find the details below.

Details :

In pkg/service/regression/regression.go:106 at :

r.log.Error("failed to get testcases from the DB", zap.String("cid", cid), zap.String("appID", appID), zap.Error(err))

This log write receives unsanitized user input from

app := r.URL.Query().Get("app")

If unsanitized user input is written to a log entry, a malicious user may be able to forge new log entries.

Forgery can occur if a user provides some input with characters that are interpreted when the log output is displayed. If the log is displayed as a plain text file, then new line characters can be used by a malicious user. If the log is displayed as HTML, then arbitrary HTML may be included to spoof log entries.

Recommendation

User input should be suitably encoded before it is logged.

If the log entries are plain text then line breaks should be removed from user input, using strings.Replace or similar. Care should also be taken that user input is clearly marked in log entries, and that a malicious user cannot cause confusion in other ways.

For log entries that will be displayed in HTML, user input should be HTML encoded using html.EscapeString or similar before being logged, to prevent forgery and other forms of HTML injection.

Example

In the following example, a user name, provided by the user, is logged using a logging framework without any sanitization.

package main

import (
	"log"
	"net/http"
)

// BAD: A user-provided value is written directly to a log.
func handler(req *http.Request) {
	username := req.URL.Query()["username"][0]
	log.Printf("user %s logged in.\n", username)
}

In the next example, strings.Replace is used to ensure no line endings are present in the user input.

package main

import (
	"log"
	"net/http"
	"strings"
)

// GOOD: The user-provided value is escaped before being written to the log.
func handlerGood(req *http.Request) {
	username := req.URL.Query()["username"][0]
	escapedUsername := strings.Replace(username, "\n", "", -1)
	escapedUsername = strings.Replace(escapedUsername, "\r", "", -1)
	log.Printf("user %s logged in.\n", escapedUsername)
}

References

OWASP: Log Injection.
Common Weakness Enumeration: CWE-117.

[feature]: Accepting/Normalise Test Case in a Test-Run

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

One should be able to mark a test-case behavior as "expected". This will update the expected behavior of the test case going forward.

One should be able to multi-select testcases and normalise them as well.

Why should this be worked on?

It'll help deal with false positives quickly.
It'll help in improving the quality of the test-cases recorded/audited.

Only 2 Test runs are being returned

Describe the bug
The graphql API started to return only 2 random test runs.

To Reproduce
Add more than 2 test runs and query TestRun

Expected behavior
Send a list of all test runs.

[feature]: Migration away from Gatsby

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

It's becoming difficult to dynamic pages to the UI due to the way Gatsby works.

Why should this be worked on?

We should use a simpler framework because it's going to be an internal dashboard and SEO is not important. The data is going to be very dynamic.

Next.js

Pros:

  • Larger community
  • Simpler and less need for config
  • Less opinionated so less code
  • Works better for dynamic application/pages

Cons:

  • Not known for static site generation - not relevant for keploy dashboard
  • Lack of fine-grained data access during building - not relevant for us

Estimated effort: up to 2 weeks.

Moving to Vanilla React

Pros:

  • Largest community
  • Even simpler config
  • Freedom to choose any library
  • Less magic
  • Easy to migrate to any framework

Cons:

  • Need effort for SSR - not relevant right now
  • Need to add code for routing - this could be good because we get more control.

Estimated effort: up to 2 weeks.

Add support for docker-compose and embed UI

Is your feature request related to a problem? Please describe.
Adding support for docker-compose can help with quickly provisioning keploy locally.

Describe the solution you'd like
The UI can be embedded into the go binary using go embed. Then docker-compose file can comprise the updated docker image and a mongo container.

Describe alternatives you've considered
Separate UI and backend containers. This makes it harder to switch the API URL dynamically, we decided to embed it into the binary itself.

Additional context
NA

[feature]: Assert and de-noise external call payload for test cases

Is your feature request related to a problem? Please describe.
Currently, external calls are recorded and mocked but are not asserted for correctness.

Describe the solution you'd like
We should be able to assert the correctness of the external mocks. This should also include the noise filtering ability.

Describe alternatives you've considered
Need research

Additional context
This can help users deeply pinpoint defects in code during testing and debugging.

Make the console more dynamic

Is your feature request related to a problem? Please describe.
The current console for testing can be made more dynamic. Its plain and boring for now

Describe the solution you'd like
We could add progress bars and leaders like https://github.com/gosuri/uiprogress

Describe alternatives you've considered
Utilizing features from uber zap to improve the experience.

Additional context
NA

[bug]: Changing Properties on Testcases doesn't reflect on save

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When I save the testcase after editing it, the testcase changes aren't reflected immediately and requires a reload of page. The network call for query returns the correct result but is not updated in the UI.

PFA Recording for the same

Screen.Recording.2022-05-03.at.2.02.29.PM.mov

Steps to reproduce

  1. Go to TestCases
  2. Choose an App which has a testcase
  3. Update the property and click save.
  4. Observe the changed property, It hasn't changed and requires a refresh to show the change.

Environment

No response

Version

Local

[feature]: Add support for building and publishing binary

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

We currently only publish docker images. Since keploy is static binary - we should publish that too.

Why should this be worked on?

Many people may prefer to use the static binary instead of docker images.

[feature]: Convert Test run cards to Table with Filters

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Currently, test runs can't be filtered by timestamp/app name etc. The goal here will be to convert test run cards to a table with pagination and filters.

Why should this be worked on?

The current cards structure is not scalable and filterable. Adding a table would bring consistency to the overall UI as well.

[feature]: Add Python SDK

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add support for python frameworks like Django, flask, and bottle.

You can join python-sdk slack channel in order to track progress

Why should this be worked on?

No solid testing library is present in python right now for API testing.

[feature]: Update README.md to refer to new samples-go repository

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Currently, README.md refers to the old (now archived) Go samples repository for Keploy. Update it to contain an up-to-date sample application.

Why should this be worked on?

Keploy users should have easy access to the new, updated samples repository, as well as a quick example on the main Keploy page.

[feature]: Add URI and URL in HTTPRequest & HTTPrequestInput schema

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

We need both URL and URI for testlist table and test-run side tabs respectively. Currently there's only URI.

Why should this be worked on?

Will help user understand the test case better with complete URL

[chore]: rename the container in docker-compose

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Rename the container in the docker-compose file from web1 to keploy

Why should this be worked on?

web1 is not the apt name

[feature]: Add support for testing of in-memory application data

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

  • Currently Keploy does not support testing with in-memory data stored within the application (stateful application)
  • In-memory data gets modified during the testing and so it affects the result of the test

Why should this be worked on?

  • Will increase overall usability of Keploy

more PR templates

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

PR templates could be made for better support in open source
cc @nehagup @

Why should this be worked on?

almost every repository or organisation are having these templates

[feature]: Implement filters for testcase capture

Is your feature request related to a problem? Please describe.
We need the ability to filter test case capture by various fields such as URL, headers, etc.

Describe the solution you'd like
Provide a way to set filters in the SDK.

Describe alternatives you've considered
Provide filters from UI instead. This could be something we do later due to the potential complexities involved.

Additional context
We decided to add this urgently because we needed this to test keploy itself. We are interested in unit testing the keploy API which runs on /url/* space.

[feature]: Adding Pagination

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add Pagination to the following for performance optimisation :

  • To /testlist app names list
  • To /testlist testcases list represented in the table
  • To /testruns cards list rendered
  • To /testrun/testid table of test cases listed
  • To /testrun/testid unique URI list on the left tab pannel

Why should this be worked on?

This will enhance the performance of the page due data fetched and rendered.

[feature]: Add Javascript/Typescript (SDK) support

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add the support for Javascript/Typescript and popular JS frameworks that'll enable JS application developers to use Keploy.

Why should this be worked on?

Got multiple requests to add JS support via LinkedIn, Reddit. It's one of the most popular languages used by the developers as well.

[docs]: Add command in the readme to update the local docker image to latest keploy version

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add command in the readme to update the local docker image to latest keploy version (use docker --pull).

Why should this be worked on?

Keploy is a fast moving platform currently in beta stage. To update user's local docker image to the latest available adding this will be helpful.

Create gRPC Client in sdk for communication with Keploy server

Is your feature request related to a problem? Please describe.
The SDK should implement a Grpc communication with Keploy server ref - #104

Describe the solution you'd like
I had created grpc server using protobuf at keploy/grpc repo following all http/regression methods .
One can implement a client for that in go sdk which can be helpful in sending data across as binaries .

Additional context
We can Implement it for Go SDK , Later we have to do it for other SDK's too as it's language independent of clients

update in the readme file

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

There are two 'your' in the read me file

Screenshot from 2022-04-16 17-34-22

[feature]: Move server to sdk communication to gRPC

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add support for migrating the HTTP APIs (in the http/regression folder) to gRPC.

Why should this be worked on?

since we'll have SDKs written in multiple programming languages, using gRPC can help us standardize the client communication between the servers and SDKs. This could also help improve performance because lots of binaries are also exchanged.

Add CITATION.cff

What do you want to add to the docs? (please state reasons if any)

The standard CITATION format is the Citation File Format, proposed by GitHub:

CITATION.cff files are plain text files with human- and machine-readable citation information for software (and datasets). Code developers can include them in their repositories to let others know how to correctly cite their software.

example :

cff-version: 1.2.0
title: Beautify GitHub sample repository
message: If you really want to cite this repository, here's how you should cite it.
type: software
authors:
  - given-names: Nicolas
    family-names: Fränkel
repository-code: 'https://github.com/ajavageek/beautifygithub'
license: Unlicense

Where is this stated?

The CITATION file allows you to answer the following questions:

What is the name of the software?
What label should I use to uniquely identify the version of the software I have used?
What is the appropriate set of people that should be cited as authors?

[feature]: Add Java SDK

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Add the support for Java and popular frameworks that'll enable Java application developers to use Keploy.

Why should this be worked on?

Got multiple requests to add Java Support via LinkedIn, Youtube, Reddit. It's one of the most popular languages used by enterprises as well.

[docs]: Add details of the only unit test case file needed

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Currently on the code of the file is mentioned in the README.md

It'll be easier for the users to follow instructions with more information about unit test case file. For example

  1. Where to add this file (say with main.go)
  2. Name of the file(say main_test.go)

Why should this be worked on?

It'll add more clarity in following the instructions of adding unit testing code.

[feature]: Add different colour for noisy fields in test compare mode

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Currently, for comparing the expected and actual test-results Custom React Diff Viewer component is used.

This component ignores the noisy fields given for any test case and renders split lanes with any other differences in the 2 input body(JSON/plain text) provided.

The goal is to add color(yellow) to noisy fields when the component is rendered

Why should this be worked on?

Highlighting noisy fields will help showcase that the difference was detected but was intentionally ignore because it was considered as noise.

[feature]: URL should be printed instead of URI in list of testcase at "/testlist/"

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

URL is not included in GraphQL query from backend. Please add that in your HttpReq GraphQL query and print URL in test case table instead of URI.

Why should this be worked on?

Because user will be easily able to identify requests easily by URL instead of URI.

[feature]: JAVA SDK <> Add Springboot framework support

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

Springboot is one the most popular framwork for Java. This will help majority Java developers to use Keploy.
Depends on #51

Why should this be worked on?

Springboot is one the most popular framwork for Java.

Requested on Youtube and LinkedIn

[feature]: Generate test-cases from API schema

Is your feature request related to a problem? Please describe.
The API schema can be inferred to quickly generate test cases before encountering any traffic.

Describe the solution you'd like
The solution should focus heavily on quality rather than quantity, i.e. it's better to have fewer generated tests than more noisy tests.

Describe alternatives you've considered
Need research

Additional context
This can help onboard users faster too!

Need to handle cases with incomplete dependency integration

Describe the bug
Currently, if a user misses integrating a dependency, the test case gets recorded and fails during comparison.

To Reproduce

  • In the test app, don't add the mongo dependency
  • Run in capture mode and then in test mode

Expected behavior
TBD

Additional context
Reporter BMS

[feature]: Add helm chart for Keploy Server

Is there an existing feature request for this?

  • I have searched the existing issues

Summary

To improve collaboration amongst team-members keploy server should be hostable in a variety of cloud or on-premise environments.

Why should this be worked on?

Keploy server will run locally with docker currently.

Fix code scanning alert - Log entries created from user input

Tracking issue for:

If the above issue returns 404 please find the details below.

r.log.Error("failed to get testcases from the DB", zap.String("cid", cid), zap.String("appID", appID), zap.Error(err))

This log write receives unsanitized user input from

app := r.URL.Query().Get("app")

If unsanitized user input is written to a log entry, a malicious user may be able to forge new log entries.

Forgery can occur if a user provides some input with characters that are interpreted when the log output is displayed. If the log is displayed as a plain text file, then new line characters can be used by a malicious user. If the log is displayed as HTML, then arbitrary HTML may be included to spoof log entries.

Recommendation

User input should be suitably encoded before it is logged.

If the log entries are plain text then line breaks should be removed from user input, using strings.Replace or similar. Care should also be taken that user input is clearly marked in log entries, and that a malicious user cannot cause confusion in other ways.

For log entries that will be displayed in HTML, user input should be HTML encoded using html.EscapeString or similar before being logged, to prevent forgery and other forms of HTML injection.

Example

In the following example, a user name, provided by the user, is logged using a logging framework without any sanitization.

package main

import (
	"log"
	"net/http"
)

// BAD: A user-provided value is written directly to a log.
func handler(req *http.Request) {
	username := req.URL.Query()["username"][0]
	log.Printf("user %s logged in.\n", username)
}

In the next example, strings.Replace is used to ensure no line endings are present in the user input.

package main

import (
	"log"
	"net/http"
	"strings"
)

// GOOD: The user-provided value is escaped before being written to the log.
func handlerGood(req *http.Request) {
	username := req.URL.Query()["username"][0]
	escapedUsername := strings.Replace(username, "\n", "", -1)
	escapedUsername = strings.Replace(escapedUsername, "\r", "", -1)
	log.Printf("user %s logged in.\n", escapedUsername)
}

References

OWASP: Log Injection.
Common Weakness Enumeration: CWE-117.

Capture code coverage for tests

Is your feature request related to a problem? Please describe.
Capturing code coverage can be an important metric to understand the effectiveness of tests.

Describe the solution you'd like
Ideally, code coverage should be measured automatically after running a test.

Describe alternatives you've considered
N/A

Additional context
This is complementary to the native go test integration feature keploy/go-sdk#29

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.