|
1 | 1 | <p align="center" ><img src="public/assets/pictures/ProtographQLBanner.png" width="800px"></p>
|
2 |
| - |
3 |
| -# ProtoGraphQL |
4 |
| - |
5 |
| -ProtoGraphQL is a **prototyping tool** that helps developers build and visualize GraphQL schemas and queries without writing any code. Users simply input their relational database tables and ProtoGraphQL will dynamically create a customized and functional GraphQL Apollo Server readily available for export. |
6 |
| - |
7 |
| -ProtoGraphQL is currently in beta. We would appreciate if you could post any issues to our GitHub – we are actively looking for areas for improvement and we welcome feedback from the community. |
8 |
| - |
9 |
| -Upcoming releases include adding visual indicators for table relationships in the “Schema” view, enabling users to create customizable GraphQL mutations, and extending support for NoSQL databases such as MongoDB. |
10 |
| - |
11 |
| -\* *We recently added support for users to view the structures and relationships of their tables using our GraphQL schema tree visualizer!* |
12 |
| - |
| 2 | + |
| 3 | +# ProtoGraphQL ver. 2.0 |
| 4 | + |
| 5 | +*** The latest release of ProtoGraphQL includes a new view that can jumpstart your query testing with the Jest framework and the ability to import tables from an existing database. *** |
| 6 | + |
| 7 | +ProtoGraphQL is a **prototyping tool** that empowers developers to build and visualize GraphQL schemas and queries without writing any code. Once users import or input their relational database tables, ProtoGraphQL can generate an export package that allows developers to spin up a customized and functional GraphQL Apollo Server as an independent app. (As of version 2.0 custom mutations are also supported!) |
| 8 | + |
| 9 | +ProtoGraphQL is in beta. Please post any issues to our GitHub - we are actively looking for opportunities to improve this tool and we welcome your feedback. |
| 10 | + |
| 11 | +Upcoming releases will improve the “Schema” view and add support for NoSQL databases. |
| 12 | + |
13 | 13 | ## Getting Started:
|
14 |
| - |
15 |
| -1. Download for [Mac](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/ProtoGraphQL-1.0.0.dmg), [Windows](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/ProtoGraphQL.Setup.1.0.0.exe), or [Linux](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/protographql_1.0.0_amd64.deb) |
16 |
| - |
| 14 | + |
| 15 | +1. Download: [Mac](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/ProtoGraphQL-1.0.0.dmg), [Windows](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/ProtoGraphQL.Setup.1.0.0.exe), [Linux](https://github.com/oslabs-beta/protographql/releases/download/v1.0.0-beta/protographql_1.0.0_amd64.deb) |
| 16 | + |
17 | 17 | 2. Extract file
|
18 |
| - |
19 |
| -3. Run app |
20 |
| - |
| 18 | + |
| 19 | +3. Run application |
| 20 | + |
21 | 21 | ## How to Use:
|
22 |
| - |
23 |
| -1. When the application loads, click on **Add Table** and populate the table form with a name and new fields. Optionally, you may also use the last three inputs in the form to create relationships to other tables. When you are done, click **Save**. |
24 |
| - |
25 |
| -<p align="center"><kbd><img src="public/assets/pictures/add-table demo.mov.gif" width="800px"></kbd><p> |
26 |
| - |
27 |
| -2. Navigate to the **Schema**, **Code**, and **Visualize** tabs to toggle views: |
28 |
| - * **Schema** - view, edit, or delete tables you've added |
| 22 | + |
| 23 | +1. When the application starts you will be given the option to either **CREATE YOUR TABLES** or **IMPORT TABLES**. To create your tables, click the “Add Table” button in the lower left corner of the screen. When your config is complete, click **Save**. When importing, simply paste your database URI in the field and click the **Connect** button. In either case, your tables will be displayed in the main view when you are done. |
| 24 | + |
| 25 | +<p align="center"><kbd><img src="public/assets/pictures/v2-add-tables.gif" width="800px"></kbd><p> |
| 26 | + |
| 27 | +2. Navigate to the alternate views within the app using the tabs on the left: **Schema**, **Code**, **Visualize**, and **Tests** |
| 28 | + |
| 29 | +* **Schema** - view, edut or delete tables you've added. |
29 | 30 |
|
30 |
| - <p align="center"><kbd><img src="public/assets/pictures/Schema_Screenshot.png" width="800px"></kbd></p> |
| 31 | + <p align="center"><kbd><img src="public/assets/pictures/v2-schema-view.png" width="800px"></kbd></p> |
31 | 32 |
|
32 |
| - * **Code** - view generated GraphQL and SQL code before export |
| 33 | +* **Code** - view generated GraphQL and SQL code. |
33 | 34 |
|
34 |
| - <p align="center"><kbd><img src="public/assets/pictures/Code_Screenshot.png" width="800px"></kbd></p> |
| 35 | + <p align="center"><kbd><img src="public/assets/pictures/v2-codeview.png" width="800px"></kbd></p> |
35 | 36 |
|
36 |
| - * **Visualize** - view the GraphQL schema intuitively as a simple tree |
| 37 | +* **Visualize** - view the GraphQL schema as a simple tree. |
37 | 38 |
|
38 |
| - <p align="center" ><kbd><img src="public/assets/pictures/tree visializer demo.gif" width="800px"></kbd></p> |
39 |
| - |
40 |
| -3. Export the code by clicking the **Export** icon. |
41 |
| - |
42 |
| - <p align="center" ><kbd><img src="public/assets/pictures/Export_Screenshot.png" width="800px"></kbd></p> |
43 |
| - |
44 |
| -4. Enter your Postgres database URI and then select the directory you want to save your executable GraphQL server. |
45 |
| - |
| 39 | + <p align="center" ><kbd><img src="public/assets/pictures/v2-visualizer.gif" width="800px"></kbd></p> |
| 40 | + |
| 41 | +* **Tests** - create and export query and response pairs from a custom GraphQL Endpoint. |
| 42 | + |
| 43 | + <p align="center" ><kbd><img src="public/assets/pictures/v2-test-queries.gif" width="800px"></kbd></p> |
| 44 | + |
| 45 | +3. Export your code by clicking the **Export** icon in the upper right. |
| 46 | + |
| 47 | + <p align="center" ><kbd><img src="public/assets/pictures/v2-export.png" width="800px"></kbd></p> |
| 48 | + |
| 49 | +4. Enter your Postgres database URI, then select the directory you want to save your compressed GraphQL server package in. |
| 50 | + |
| 51 | + |
46 | 52 | ## How to Run GraphQL Server:
|
47 |
| - |
| 53 | + |
48 | 54 | There are several libraries we could have used to create a GraphQL server, but we decided to use Apollo Server – the most popular library to setup an endpoint for responding to incoming GraphQL requests in JavaScript.
|
49 |
| - |
50 |
| -1. Extract apollo-server.zip file |
51 |
| - |
| 55 | + |
| 56 | +1. Extract apollo-server.zip file |
| 57 | + |
52 | 58 | 2. Open the project
|
53 |
| - |
54 |
| -3. Install dependencies |
| 59 | + |
| 60 | +3. Install dependencies |
55 | 61 | ```
|
56 | 62 | npm install
|
57 | 63 | ```
|
58 |
| - |
59 |
| -4. Run the server and visit localhost:3000 |
| 64 | + |
| 65 | +4. Run the server and point your browser to localhost:3000 |
60 | 66 | ```
|
61 | 67 | npm start
|
62 | 68 | ```
|
63 |
| - |
64 |
| -5. Use Apollo Server Playground to mock client GraphQL queries and responses to your server. [Learn more about constructing GraphQL Queries here](https://graphql.org/learn/queries/) |
65 |
| - |
| 69 | + |
| 70 | +5. Use Apollo Server Playground to mock client GraphQL queries and responses to your server. [Learn more about constructing GraphQL Queries here](https://graphql.org/learn/queries/) |
| 71 | + |
66 | 72 | ## Contributors:
|
67 |
| - |
| 73 | + |
68 | 74 | <img align="right" src="public/assets/pictures/icon/icon.png" width="125px">
|
69 |
| - |
70 |
| -- Alena Budzko [@AlenaBudzko](https://github.com/AlenaBudzko) |
71 |
| -- Bryan Fong [@bryanfong-dev](https://github.com/bryanfong-dev) |
72 |
| -- Rodolfo Guzman [@Rodolfoguzman25](https://github.com/Rodolfoguzman25) |
73 |
| -- Jarred Jack Harewood [@jackhajb](https://github.com/jackhajb) |
74 |
| -- Geoffrey Lin [@geofflin](https://github.com/geofflin) |
75 |
| - |
| 75 | + |
| 76 | +- Alena Budzko | [@AlenaBudzko](https://github.com/AlenaBudzko) |
| 77 | +- Bryan Fong | [@bryanfong-dev](https://github.com/bryanfong-dev) |
| 78 | +- Rodolfo Guzman | [@Rodolfoguzman25](https://github.com/Rodolfoguzman25) |
| 79 | +- Haris Hambasic | [@hambasicharis1995](https://github.com/hambasicharis1995) |
| 80 | +- Jarred Jack Harewood | [@jackhajb](https://github.com/jackhajb) |
| 81 | +- Geoffrey Lin | [@geofflin](https://github.com/geofflin) |
| 82 | +- Michele Moody | [@Milmoody](https://github.com/Milmoody) |
| 83 | +- Jessica Vaughan | [@jessicavaughan820](https://github.com/jessicavaughan820) |
| 84 | +- Vance Wallace | [@Vancito](https://github.com/Vancito) |
0 commit comments