bitprj / bit-next Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://bit-next.now.sh
Home Page: https://bit-next.now.sh
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Figma Design
Component Details
User.js
in src/components/global
and create the User component. Use the List.Item and List.Item.Meta object from ant design to implement it, https://codesandbox.io/s/5d8fk.UserList.js
in src/components/global
and create the User List component. Use the List object from ant design https://codesandbox.io/s/5d8fk.Is your feature request related to a problem? Please describe.
We need to display the articles by sorting by views, most viewed and most recent articles in the user dashboard.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Figma Design
Should be editing the pages/dashboard/[pid].tsx
Change the most viewed tab to all posts tab. It should display all of the articles written by the current user
Change the most liked tab to the published. It should display all of the published articles by the current user
Change the most recent tab to the drafts tab. It should display all of the drafted articles written by the current user.
Should use the components/global/ArticleList.tsx
to display the articles.
Should call the {{APIURL}}/profiles/{{USERNAME}}/articles
route to display the articles from the current user. You can include different query parameters to sort the articles by likes, most viewed and most recent.
##Github OAuth
Should be using the next-auth package to implement Github OAuth, https://github.com/iaincollins/next-auth
At first, generate the Github API Key and secret with your account. We will later change the API Keys and Secret to the Bit Project account.
You should look at the documentation from this link to implement OAuth, https://next-auth.js.org/getting-started/introduction
You can even try the demo with this link, https://next-auth-example.now.sh/
Is your feature request related to a problem? Please describe.
We need to create mobile, tablet, and mobile layout for the Explore, Profile, Organization, Write a Blog, User Dashboard and Setting page.
Describe the solution you'd like
Should implement each page with different layouts.
Figma Design
pages/index.tsx
pages/profile/[pid].tsx
pages/organization/[pid].tsx
pages/article/[pid].tsx
pages/user/[pid].tsx
Component Details
/src/components/pages
Is your feature request related to a problem? Please describe.
We need to build a feature to like a comment. We also need a way to keep track of the number of times an article is viewed.
Models
Article
Comment
Schemas
API Routes
Endpoints | HTTP Method | Description | Tested
/api/articles/{{slug}} | Get | The view count should increase each time this is called |
/api/comments/{{commentId}}/favorite | POST | Add the user to the comment's favorites relationship |
Create/Edit Functions
get_article
favorite_a_comment
Additional context
backend/tests/test_articles.py
file. Some of them don't currently pass. So adjust the routes or tests accordingly to make sure that they work.Is your feature request related to a problem? Please describe.
Need to get Articles pages up and running
Describe the solution you'd like
A clear and concise description of what you want to happen.
Figma Design
Should use buttons from ant design to create the button, https://ant.design/components/button/
You should not display this if the current user is logged in. you can check if the user is logged in or not with /api/user
. If a 401 is returned, then the user is not logged in. When clicked on it should lead to the login page, pages/user/login.tsx
Article and ArticleList
You should use the ArticleList component to have a bunch of Article components. Both components are located in the components folder.
You should also be using the /api/articles/{{slug}}
route, but query articles for all articles
Tag and TagList
This is the TagList and Tag component, for each tag you should display the name and the tag's emoji.
Call the /api/tags
to display the top five tags.
Should use the UserList component and the User component to put in the UserList component. Both components are in the component
You should call the /api/tags/{{tagSlug}}/members
route to get all the members and moderators for the a Tag.
To follow the user and unfollow the user, use /api/profiles/{{USERNAME}}/follow
(PUT) and /api/profiles/{{USERNAME}}/follow
(DEL) respectively. The button should be green if the user is following.
Article and ArticleList
You should use the ArticleList component to have a bunch of Article components. Both components are located in the components folder.
You should also be using the /api/articles/{{slug}}
route, but query articles under a tag
Tag and TagList
This is the TagList and Tag component, for each tag you should display the name and the tag's emoji.
Call the /api/profiles/{{username}}/tags
to display the top five tags.
API Calls Needed
/api/user
- to get the current user logged in/api/articles/{{slug}}
- Can be used to query for all articles or articles under a tag/api/articles/{{slug}}/bookmarks
/api/users
- to get a user/api/tags/{{tagSlug}}/members
Is your feature request related to a problem? Please describe.
We need to create the organization feature.
Describe the solution you'd like:
Models
Organization
backend/conduit/organizations/models
with the following fields:
Articles
backend/conduit/articles/views.py
Schemas
backend/conduit/profile/serializers
and ArticleSchemas from backend/conduit/articles/serializers
for the relationshipsAPI Routes
CRUD Routes
backend/conduit/articles/views.py
Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{ url }}/api/organizations/{{ slug }} | GET | Fetch Single Org | ✔️ |
{{ url }}/api/organizations/{{ slug }} | PUT | Update Org | ✔️ |
{{ url }}/api/organizations/{{ slug }} | DEL | Delete Org | ✔️ |
{{ url }}/api/organizations | POST | Create Org | ✔️ |
Unfollow / Follow
Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{ url }}/api/organizations/{{ slug }}/follow | POST | Follow Org | ✔️ |
{{ url }}/api/organizations/{{ slug }}/follow | DEL | Unfollow Org | ✔️ |
Moderators
remove_member
for organizations in backend/conduit/organizations/views.py
.promote_user
for organizations in backend/conduit/organizations/views.py
.Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{ url }}/api/organizations/{{ slug }}/members | DEL | Remove Member | ✔️ |
{{ url }}/api/organizations/{{ slug }}/members | POST | Promote Member | ✔️ |
{{ url }}/api/organizations/{{ slug }}/members | GET | All Members & Mods | ✔️ |
Article
Create a route in backend/conduit/organizations/views.py
called review_article
which allows moderators to make the article public or not. If needsReview is set to true, then remove it from the moderator's list. If it is false leave it alone. Only an Admin can call this route.
reviewed_articles
which is a list of all articles that need to be reviewed before moving them to the org_article
column. All articles in org_article
are public for everyone to see.Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{ url }}/api/organizations/{{ org_ }}/articles | POST | Submit Org Article | ✔️ |
{{ url }}/api/organizations/{{ org_slug }}/articles/{{slug}} | DEL | Delete Review Status on Org Article | ✔️ |
Create/Edit Functions
Articles
get_articles
function in backend/conduit/articles/views
to implement fetching articles from organizations. There should be call that returns needsReview articlesTests
backend/tests/test_organizations.py
to test all the routes in backend/conduit/organizations/views.py
. Each route should be its own test functionAdditional context
Is your feature request related to a problem? Please describe.
Implement the User dashboard page from the Figma Design. https://www.figma.com/file/pyXHrfSlr2xx3xunNXjcpx/New-UI?node-id=2694%3A727
Look at the Dashboard page to see how they the Page is suppose to look like
Describe the solution you'd like
List of issues need to be complete
Is your feature request related to a problem? Please describe.
Adjust the Following system for UserProfile.
Add the isPublished field to Articles and adjust logic for that.
Describe the solution you'd like
backend/conduit/user/models.py
:
update_user
route in backend/conduit/user/views.py
to take account of the newly added fields.backend/conduit/profile/views.py
backend/conduit/profile/views.py
backend/conduit/articles/models.py
get_articles
route in backend/conduit/articles/views.py
kwargs.test_get_articles_by_author
in backend/tests/test_articles.py
to account for the new query changesAdditional context
Is your feature request related to a problem? Please describe.
We need to add admin panel options
Describe the solution you'd like
A clear and concise description of what you want to happen.
Figma Design
Should add an Admin tab under the current vertical tabs.
Tag drop down
Should display an ant design dropdown, https://ant.design/components/dropdown/ which should display all the tags
Should be using the {{APIUrl}}/api/tags
route to display all of the dropdown choices
Member search
Should use the mentions input to get the users with the ant design mention component, https://ant.design/components/mentions/
To get all the members from a tag, use the {{APIURL}}/api/tags/{{tagSlug}}/members
api call.
There should be a submit button to add the users in the mention input with the {{APIURL}}/api/tags/{{tagSlug}}/moderator/{{USERNAME}}
, the button should use the ant design button, https://ant.design/components/button/
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
backend/conduit/tags/models.py
:
backend/conduit/articles/serializers.py
and apply them to backend/conduit/tags/serializers.py
backend/conduit/tags/views.py
. You should follow a similar syntax to how the CRUD routes are made in backend/conduit/articles/views.pybackend/conduit/tags/views.py
. The route should add the current user to the Tag's followers list. For unfollow, remove the user from the Tag's followers list.get_members_from_tag
profile_tags
in backend/conduit/profile/views.py
claim_tag
route where an Admin (a User with the isAdmin boolean == True) adds themself to the moderatos column.
invite_moderator
to invite users as moderators for the targeted tag.backend/conduit/articles/models.py
. The default should be false.
backend/conduit/articles/views.py
to fetch only articles where needsReview is false.make_article
in backend/conduit/articles/views.py
. If the tag's modSetting is 3, then check if the user is an admin first before posting else dont post it and remove the tag from the article. If the tags's modSetting is 2 then send the variable needsReview to true when creating the tag.backend/conduit/users/models.py
. By default this value should be false.
backend/conduit/utils.py
to check if the user is an admin. It would help to make a class function in the User model to return the isAdmin boolean.backend/conduit/articles/views.py
called review_article
which allows moderators to make the article public or not. If needsReview is set to true, then remove it from the moderator's list. If it is false leave it alone. Only moderators can call this route.
backend/tests/test_tags.py
to test all the routes in backend/conduit/tags/views.py
. Each route should be its own test functionAdditional context
Is your feature request related to a problem? Please describe.
Need to create the User Dashboard page to display information about the user.
Describe the solution you'd like
Complete the following components and transfer existing MD editor to new repo. The editor should be replaced with the one in pages/editor/new.tsx
Figma Design
pages/editor/new.tsx
file.
/api/articles
route/api/articles/{{slug}}
to update itUser Articles
You should be using the Article and ArticleList component in the components folder to implement this out.
You should be calling /api/articles
to get all the articles from the current user.
You should use the existing User component in the components folder
You should also be using the /api/user
to get information about the current user
Tabs
You should use the existing User component in the components folder
You should also be using the /api/user
to get information about the current user
Tabs
You should be using the Tab component to build this component out.
User Component
/api/profiles/{{USERNAME}}/followers
to get the user's followers and /api/profiles/{{USERNAME}}/followings
to get the user's followingsYou should use the existing User component in the components folder
You should also be using the /api/user
to get information about the current user
Tabs
You should be using the Tab component to build this component out.
User Component
/api/profiles/{{USERNAME}}/followers
to get the user's followers and /api/profiles/{{USERNAME}}/followings
to get the user's followingsIs your feature request related to a problem? Please describe.
We need to integrate algolia search to make searching articles faster.
Describe the solution you'd like:
Models
None
Schemas
None
API Routes
Article CRUD Routes
Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{APIURL}}/api/articles | POST | Create Article | |
{{APIURL}}/api/articles{{slug}} | PUT | Update Article | |
{{APIURL}}/api/articles{{slug}} | DELETE | Delete Article |
Create/Edit Functions
Edit Article routes in
backend/conduit/articles/views.py
Additional context
backend/conduit/app.py
. This should be made in the create_app functionIs your feature request related to a problem? Please describe.
Need to implement Github OAuth to allow an easy way for Users to logged in. Need to implement the Explore views too, but most of the components have already been implemented. Need to give more features for the Tag model like followers, updating and deleting Tags.
Describe the solution you'd like
Complete the views and routes in the issues below.
List of issues need to be complete
Is your feature request related to a problem? Please describe.
We need to make sure that users can bookmark articles
Figma Design
Fix the tag follow button. When its clicked, it does not turn into the green button.
You should be editing the pages/tag/[pid].tsx
Bookmark button
When the button is clicked it should call the {{APIURL}}/api/articles/{{slug}}/bookmark
(POST) route to save the article to the user's bookmark list
This should ONLY be allowed to be clicked if the user is logged in. If not then use the ant design message component, https://ant.design/components/message/ to alert the user to log in
Comment Reply
When the reply to
word is clicked, it should open an input box from ant design, https://ant.design/components/comment/. It's the last component on the page.
When the enter key or the submit button is clicked then use the {{APIURL}}/api/articles/{{slug}}/comments
(POST) call to make a comment under the comment.
If the user is not logged in, then do not open the input box. Alert the user that they are not logged in with the ant design message component, https://ant.design/components/message/
Liking an Article
When the user clicks on the heart emoji, it should turn the background red and the heart white
You should be using the Twitter emojis, https://emojipedia.org/twitter/ as well as twemoji, https://www.npmjs.com/package/react-twemoji
Edit the pages/article/[pid].tsx
file. There exists a handleLike
function to like the article
Is your feature request related to a problem? Please describe.
We need a way to make comments on other comments
Describe the solution you'd like
Implement the nested comment reply feature with ant design's reply box (more info below).
Figma Design
Comment Reply
You should be editing in the pages/article/[pid].tsx
file
When the reply to
word is clicked, it should open an input box from ant design, https://ant.design/components/comment/. It's the last component on the page.
When the enter key or the submit button is clicked then use the {{APIURL}}/api/articles/{{slug}}/comments
(POST) call to make a comment under the comment.
If the user is not logged in, then do not open the input box. Alert the user that they are not logged in with the ant design message component, https://ant.design/components/message/
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Figma Design
pages/article/[pid].tsx
file.User Info Card
components/global/UserInfoCard.tsx
file.{{APIURL}}/api/profiles/{{USERNAME}}
route to get information regarding the user for the user info card.User Articles
components/article/UserArticleCard.tsx
{{APIURL}}/api/articles?author={{USERNAME}}
route to get articles based on the authorLike and bookmark
{{APIURL}}/api/articles/{{slug}}/favorite
if the heart is not pressed. Else call the unfavorite route, {{APIURL}}/api/articles/{{slug}}/favorite
.{{APIURL}}/api/articles/{{slug}}/bookmark
and invert the color.components/article/ArticlePreview.tsx
file for likes. I would recommend copy the logic and alter it for bookmarks as wellArticle Body
const { article }: Article = fetchedArticle || initialArticle;
which you can use to get information regarding the article. I would recommend using Postman to visualize the data you are using.Is your feature request related to a problem? Please describe.
We need to make a more clear way to reject/accept articles for organization and tag moderators
Models
None
Schemas
None
API Routes
Organization Routes
Tag Routes
Endpoints | HTTP Method | Description | Tested
/api/organizations/<org_slug>/articles/<slug>
| DELETE| Route to remove an article from an organization| :--:
/api/organizations/<org_slug>/articles/<slug>
| PUT| Route to add an article to an organization| :--:
/api/tags/<tag_slug>/articles/<articleSlug>
| DELETE| Route to remove an article from a tag | :--:
/api/tags/<tag_slug>/articles/<articleSlug>
| PUT| Route to add an article to a tag | :--:
Create/Edit Functions
Remove Article from tag
needsReview
column and remove it from the tag's articles
column as wellAccept Article from tag
needsReview
column and add it to the tag's articles
column.Remove Article from organization
articles
column as wellAccept Article from organization
pending_articles
column and add it to the organization's articles
column.Additional Context
review_article
route from backend/conduit/tags/views.py
and remove reviewed_article
route from backend/conduit/organizations/views.py
Is your feature request related to a problem? Please describe.
We need to build out the tags tab if the user is an admin for a tag.
Describe the solution you'd like
Add in the user tag settings
Figma Design
components/global/ArticleList.tsx
to display all of the articles that need to be reviewed.{{APIURL}}/api/tags/{{tagSlug}}/articles/{{articleSlug}}
call to reject or accept the article for the tag.components/global/ArticleList.tsx
to display all of the articles that need to be reviewed.{{APIURL}}/api/tags/{{tagSlug}}/articles/{{articleSlug}}
(PUT) call to reject the article for the tag.GroupSettings
since this can be reused for organization settings as well.{{APIURL}}/api/tags/{{tagSlug}}
(POST) call to update the tag.Is your feature request related to a problem? Please describe.
We need to implement a feature to retrieve the latest posts from the tags that the users are following.
We also need to implement CloudFlare CDN with the staging and production sites for our API. This is to make all of the JSON responses faster.
Describe the solution you'd like:
Create a route to display the latest posts from the tags that the users are following.
Integrate Cloudflare with Heroku staging and production sites.
Models
None
Schemas
None
API Routes
User feed
Endpoints | HTTP Method | Description | Tested |
---|---|---|---|
{{APIURL}}/api/user/tags/articles | GET | User Feed |
Create/Edit Functions
User feed
Additional context
Is your feature request related to a problem? Please describe.
We need a search feature so that User's can easily search for Articles
Describe the solution you'd like
Implement Algolia search for all of the Articles in the Database
Figma Design
WILL UPDATE LATER
Component Details
Is your feature request related to a problem? Please describe.
We need to implement the Organization features and views so that people can start creating organizations and publish Articles to them
Describe the solution you'd like
Complete the views and routes in the issues below.
List of issues need to be complete
Is your feature request related to a problem? Please describe.
We need to build out the feature to let moderators of organization edit the organization and control whose in the organization
We need to build out the tags tab if the user is an admin for a tag.
Figma Design
Submitted Tab
You should be using the ArticleList component, components/global/ArticleList.tsx
to display all of the articles that need to be reviewed.
You should use the {{APIURL}}/api/organizations/{{organizationSlug}}/articles/{{articleSlug}}
call to reject or accept the article for the organization.
Member Tab
You should use the UserList component from components/global/UserList.tsx
to implement the user list
You can use the {{APIURL}}/api/organizations/{{organizationSlug}}/members
route to remove a member from an organization
Settings Tab
You should be creating a component called GroupSetting
. Before this check if the person who has issue #89 if they completed this component. If they have use it. If not then create your own.
If mod setting is public, then send 1, if the mod setting is moderated, then send 2, and if the mod setting is private, then send 3.
The {{APIURL}}/api/organizations/{{organizationSlug}}
(PUT) will be used to update an organization.
Submitted Tab
You should be using the ArticleList component, components/global/ArticleList.tsx
to display all of the articles that need to be reviewed.
You should use the {{APIURL}}/api/tags/{{tagSlug}}/articles/{{articleSlug}}
call to reject or accept the article for the tag.
Published Tab
You should be using the ArticleList component, components/global/ArticleList.tsx
to display all of the articles that need to be reviewed.
You should use the {{APIURL}}/api/tags/{{tagSlug}}/articles/{{articleSlug}}
(PUT) call to reject the article for the tag.
Settings Tab
You should probably make a component called GroupSettings
since this can be reused for organization settings as well.
You should be using the {{APIURL}}/api/tags/{{tagSlug}}
(POST) call to update the tag.
If mod setting is public, then send 1, if the mod setting is moderated, then send 2, and if the mod setting is private, then send 3.
Is your feature request related to a problem? Please describe.
We need to finish the testing routes for organizations
Describe the solution you'd like:
Create the testing routes for:
Models
None
Schemas
None
API Routes
None
Endpoints | HTTP Method | Description | Tested |
---|
Create/Edit Functions
Edit the
backend/tests/test_organizations.py
file to make the test cases
backend/conduit/organizations/views.py
file make test functions for the following routes:backend/tests/test_articles.py
, backend/tests/test_tags.py
and other test files to help you create the test functionsIn the
backend/tests/test_models.py
file make the following test the Organization class functions:
OrganizationTest
and should reference the other testing functions to help you create the test functions.Additional context
Is your feature request related to a problem? Please describe.
We need to have a feature where commments have nested comments.
Describe the solution you'd like
Add the following columns to the Comment model in backend/conduit/articles/models.py
with the following fields:
Modify the make_comment_on_article
route in backend/conduit/articles/views.py
. It should now accept an optional comment_id. If the comment_id exists then make the comment_id the parent_id.
You need to update the comment schema to return nested comments in backend/conduit/articles/serializers.py
. That way in the get_comments
route in backend/conduit/articles/views.py
can return nested comments
Is your feature request related to a problem? Please describe.
Deploy both frontend on Zeit and backend on Heroku.
Update Thinkster Postman Collection.
Describe the solution you'd like
Is your feature request related to a problem? Please describe.
We need to implement infinite scrolling for the articles in the explore page.
Describe the solution you'd like
Should use the {{APIURL}}/api/organizations/{{organizationSlug}}
to get all the information needed to display the data needed.
Should look at the Postman Docs to use the correct props in the component
Organization Header
Should reuse the header component from components/global/Header.tsx
to implement the Organization header part.
For the follow and unfollow button you should use the {{APIURL}}/api/organizations/{{organizationSlug}}/follow
(POST) and
{{APIURL}}/api/organizations/{{organizationSlug}}/follow
(DELETE) to follow and unfollow an organization
Organization Articles
For the tabs part, use ant design tabs, https://ant.design/components/tabs/
Should use the Article component from the components/global/ArticleCard.tsx
to show the articles.
Should use the components/global/UserList.tsx
to display all of the followers of an organization and to use the {{APIURL}}/api/organizations/{{organizationSlug}}/members
route to display the members
Moderators and Members
Use the {{APIURL}}/api/organizations/{{organizationSlug}}/members
route to get the data needed to display moderators and members. Should also use the components/global/User.tsx
component to display the members and moderators.
The follow and unfollow routes should use {{APIURL}}/api/profiles/{{USERNAME}}/follow
(POST) and {{APIURL}}/api/profiles/{{USERNAME}}/follow
(DELETE)
Is your feature request related to a problem? Please describe.
We need to edit some small features for the article editor and settings.
Figma Design
We need a way for the cover image to be previewed in the editor.
Should use ant design message component, https://ant.design/components/message/ to display that the user's article has been saved. This is when the Article is autosaved.
We should double check for the editor to only accept images and not other file formats (.png, etc.)
The cover image does not get saved to the database when an image is submitted. Double check that it does get sent. Check if it gets displayed correctly in pages/article/[pid].tsx
file.
Add hover effect on reupload image word
Add the name, occupation and location field for the dashboard
Incorporate image resizing when uploading an article editor and user profile image upload through cloudinary
Is your feature request related to a problem? Please describe.
Move the fields from the settings page to the dashboard setting component.
Figma Design
The cover image filed should be placed above the title field
Fix any bugs when editing the article body. Make sure that the request body matches the request body in {{APIURL}}/api/articles
for creating a new article and updating the article with {{APIURL}}/api/articles/{{slug}}
Final design of editor
Copy the design of the editor from hashnode, https://hashnode.com/
Title and Editor
Title field should be on top of the editor
Should use the grid from ant design to implement the layout, https://ant.design/components/grid/
Other side tools
Copy how hashnode makes the button and save state. I would use the ant design button for this, https://ant.design/components/button/
Tag Input
Should use Twemoji to get the emoji, https://www.npmjs.com/package/react-twemoji. Package is installed, you just have to use it now.
Should copy existing tag input bar and move it to the side
Cover image
Should use Twemoji to get the emoji, https://www.npmjs.com/package/react-twemoji. Package is installed, you just have to use it now.
Should use the ant design button to make the cover image button
Should take the username, email and password field from components/profile/SettingsForm.tsx
and transfer them to the dashboard settings component, components/profile/AccountSettings.tsx
The logic to update the username, email, and password and transfer it over to the components/profile/AccountSettings.tsx
component. The fields should look like the component above but without the black verified tab.
When updating the user, make sure that the request body matches the {{APIURL}}/api/user
request body
Is your feature request related to a problem? Please describe.
Pairs and goals
NOTE: In your issues, you should complete the issues that have (Hackathon) right next to it
Grace and Aishwarya
Jason
Anurag and Ayush
Yuan and Mark
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.