{"id":14956712,"url":"https://github.com/nisanurbulut/sayhicode","last_synced_at":"2025-10-24T10:31:19.105Z","repository":{"id":37506050,"uuid":"112158751","full_name":"NisanurBulut/SayHiCode","owner":"NisanurBulut","description":"This repository is for technologies and frameworks I used for the first time. Typically includes: grahql mongoDb PHP Laravel Express NextJs Apollo Angular ReactJs SemanticUI React-material Angular-MaterialWith this application, the use of react hooks and context api has been implemented.","archived":false,"fork":false,"pushed_at":"2023-03-06T00:09:27.000Z","size":72471,"stargazers_count":18,"open_issues_count":33,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T09:51:13.638Z","etag":null,"topics":["angular-material","apollo-graphql","apollo-server","graphql","hooks-api-react","laravel","laravel-framework","mongodb-database","mvc","mysql-database","php","react-material-ui","react-query","react-router-dom","reactjs","semantic-ui-react","talwindcss","typescript","xaml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NisanurBulut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-27T06:47:07.000Z","updated_at":"2023-08-22T08:16:25.000Z","dependencies_parsed_at":"2024-09-02T15:41:29.513Z","dependency_job_id":"1eb0b569-8333-460f-b930-7ac2ec940223","html_url":"https://github.com/NisanurBulut/SayHiCode","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NisanurBulut%2FSayHiCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NisanurBulut%2FSayHiCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NisanurBulut%2FSayHiCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NisanurBulut%2FSayHiCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NisanurBulut","download_url":"https://codeload.github.com/NisanurBulut/SayHiCode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237950886,"owners_count":19392667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular-material","apollo-graphql","apollo-server","graphql","hooks-api-react","laravel","laravel-framework","mongodb-database","mvc","mysql-database","php","react-material-ui","react-query","react-router-dom","reactjs","semantic-ui-react","talwindcss","typescript","xaml"],"created_at":"2024-09-24T13:13:23.311Z","updated_at":"2025-10-24T10:31:09.086Z","avatar_url":"https://github.com/NisanurBulut.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Give a Star! :star:\nIf you like or are using this project to learn or start your solution, please give it a star. Thanks!\n\n### 1. SayHiGithub\n\u003chr\u003e\nWith this application, the use of react hooks and context api has been implemented. Hooks used: useState, useContext, useEffect\n\n![SayHiGithub](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiCode.gif)\n\n## Gihthub API\n- [Root Endpoint](https://api.github.com)\n- [Get User](https://api.github.com/users/nisanurbulut)\n- [Repos](https://api.github.com/users/nisanurbulut/repos?per_page=100)\n- [Followers](https://api.github.com/users/nisanurbulut/followers)\n- [Rate Limit](https://api.github.com/rate_limit)\n\n  For unauthenticated requests, the rate limit allows for up to 60 requests per hour. Unauthenticated requests are associated with the originating IP address, and not the user making requests.\n\n### 2. SayHiMERN\n\u003chr\u003e\nGraphQL api and MongoDb database are used in this application.User object performs booking and home event operations with GraphQl API.the user subscribes to the application and logs on. It receives token data at the login process. With this token information, the application can be online.\n\n![SayHiMERN](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SmartBook.gif)\n* React-material is used in interface designs.\n- If the user is not the owner of the event, he / she cannot see the detail information.\n- inserted react-material-spinner for waiting to response of api\n- The user views event detail in popup\n- The user can make the reservation via popup.\n- Avoided fetching data if components are inactive.\n- Each user can see their own booking list.\n- Each user can see their own event list.\n- The user can cancel the reservation.\n\n## SmartBook API\n\n- [Root Endpoint](http://localhost:8000/smartBookingApi)\n- [Get Events](http://localhost:8000/smartBookingApi/events)\n- [Get Bookings](http://localhost:8000/smartBookingApi/bookings)\n- [Login](http://localhost:8000/smartBookingApi/nisanurbulut/login)\n- [Create Event](http://localhost:8000/smartBookingApi/nisanurbulut/createEvent)\n- [Create User](http://localhost:8000/smartBookingApi/nisanurbulut/createUser)\n- [Get Book Event](http://localhost:8000/smartBookingApi/nisanurbulut/bookEvent)\n- [Cancel Booking](http://localhost:8000/smartBookingApi/nisanurbulut/cancelBooking)\n\n[for GraphQL Documentation](https://github.com/NisanurBulut/SayHiCode/blob/master/sayHiMern/Readme.md)\n\n### Installation\n- npm install --save express body-parser\n- npm install --save-dev nodemon\n- npm install --save dataloader\n\n### 3. SayHiMEAN\n\u003chr\u003e\nIn this study, practice of grahql, apollo and angular has been done.\n\n- Accesses mongodb database with GraphQl API.\n- Angular FW is used on the frontend side.\n\n![SayHiMEAN](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiMean.gif)\n\n### Installation\n- npm i express express-graphql graphql mongoose body-parser cors\n\n### 4. SayHiSemanticUi\n\u003chr\u003e\nThis work is a MERNG application. Users share book status.The database is MongoDb and the backend is GraphQL.The user interface has been developed with ReactJs and SemanticUI components.\n\n![SaySemanticUi](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiSemanticUi.gif)\n- Implemented apollo custom errors form form validation\n- Created files\u0026folders structure\n- After login action user has token\n- User can add book post\n- User delete book post\n- User delete his/her comment\n- User can like other user's book posts\n- User can comment on other users' book posts\n- Users register with the application\n- After login action user has token\n- Showed error messages\n- Used loading component for waiting processes\n- Implemented custom hooks\n### Entities\n\n| BookPost              | Comment           | Like               | User              |RegisterInput             |\n|-----------------------|:-----------------:|:------------------:|:-----------------:|-------------------------:|\n| id: ID!               | id: ID!           | id: ID!            | id: ID!           | username: String!        |\n| author: String!       | createdAt: String!| createdAt: String! | email: String!    | password: String!        |\n| name: String!         | username: String! | username: String!  | token: String!    | confirmPassword: String! |\n| user: User!           | id: ID!           |                    | username: String! | email: String!           |\n| createdAt: String!    | body: String!     |                    | createdAt: String!| imageUrl: String!        |\n| comments:[Comment]!   |                   |                    | imageUrl: String! |                          |\n| likes: [Like]!        |                   |                    |                   |                          |\n| likeCount: Int!       |                   |                    |                   |                          |\n| commentCount: Int!    |                   |                    |                   |                          |\n\n- Query\n  * getBookPosts: [BookPost]\n  * getBookPost(postId: ID!): BookPost\n- Mutation\n  * register(registerInput: RegisterInput): User!\n  * login(username: String!, password: String!): User!\n  * createBookPost(author: String!, name: String!): BookPost!\n  * deleteBookPost(postId: ID!): String!\n  * createComment(postId: String!, body: String): BookPost!\n  * deleteComment(postId: String!, commentId: ID!): BookPost!\n  * likeBookPost(postId: ID!): BookPost!\n- Subscription\n  * newBookPost: BookPost!\n### Installation\n- npm install apollo-server grahql mongoose\n- npm install bcryptjs jsonwebtoken\n- npm install @apollo/react-hooks apollo-cache-inmemory apollo-link-http apollo-client\n- npm install --save dataloader\n\n### 5. SayHiReactQuery\n\u003chr\u003e\nThis study demonstrates the use of the React-Jquery library.In addition, the use of react-material and component-style are shown.\n\n![SayHiReactQuery](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiReactQuery.gif)\n- The fakestoreapi API source lists fake product information.\n- The product can be added to the cart\n- The amount of product in the cart can be changed.\n- As the amount of product changes, the total cost is recalculated.\n- Product can be removed from the basket.\n## Installation\n- npx create-react-app SayHiReactQuery --template typscript\n- npm i @material-ui/core @material-ui/icons\n- npm i react-query\n- npm i styled-components @types/styled-components\n### 6. SayHiLaravel\n\u003chr\u003e\nWith this study, a social media application was made using Laravel Framework at a simple level. Sqlite database has been used.Tailwind CSS is used in frontend design.\n\n![Trailer_SayHiLaravel](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiLaravel.gif)\n\n- The user can become a member of the application.\n- The user can log in to the application.\n- The user can share posts.\n- The user can view other users' posts.\n- The user can delete their own post.\n- The user can like the post.\n- The posts belonging to the user are listed separately.\n- The user's email, name, user name, membership period information are displayed.\n- When the user likes, an e-mail is sent via mailtrap.\n- Spam sending has been blocked.\n- The liking is soft-deleting.\n## Installation\n- composer global require laravel\n- laravel new projectName\n- php artisan serve\n- npm install tailwindcss\n- npm install\n### 7. SayHiPHP\n\u003chr\u003e\nSemantic UI is used for frontend design in this application. Mysql is used for the database. The application was coded in PHP programming language and Laravel FrameWork was used. Ajax calls were made with the JQuery library.\n\n![Trailer_SayHiPHP](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiPHP.gif)\n\n- This application is a pizza ordering application.\n- The user can become a member of the application.\n- The user can log in to the application.\n- The user can place an order.\n- The user can delete his order.\n- The user can view the order details.\n- The user can view the order list.\n- The user creates his own pizza.\n- The user selects from the saved pizza ingredients.\n- User can add extra material to her order.\n- Email address is specific to the user.\n- The user can reset their password.\n- The user must register in the application to order.\n\n### 8. SayHiPhpMvc\n\u003chr\u003e\nModern PHP is used in this work. This means no framework is used. PDO was used for database operations. Migration operations were carried out using filing structure and raw sql queries.\n\n![SayHiPhpMvc](https://github.com/NisanurBulut/SayHiCode/blob/master/SayHiPhpMvc/Trailers/Trailer_SayHiPhpMvc.gif)\nThe user's password is stored in the database in hash form. Interface has been designed with Bootstrap library and MYSQL is used as database, a middleware mechanism has been developed for auth control. Users who are not logged in cannot access the homepage.\n\n* SOLID DRY and KISS software development principles are focused. OOP has been applied using abstraction and encapsulation structures.\n* The project is generally developed with the MVC design pattern.\n\nThe project topic is very simple: Users sign up for the application and see the list of other members on the main page.\n\n### 9. SayHiStyledComponent\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"100px\" height=\"100px\" src=\"https://github.com/NisanurBulut/SayHiCode/blob/dev-sayhistyledcomponent/SayHiStyledComponent/src/images/coloredcat.jpg\"\u003e\u003cp\u003eIt is a ReactJs application that uses a TypeScript template.Styled component structure is used in this study.It is an introductory level work to Styled component.Joke search was made using JOKE API. Jokes are listed according to the searched keyword.\u003c/p\u003e\n\u003cbr/\u003e\n\n## Installation\n- npm install @types/styled-components styled-components\n- npm install --save axios\n![SayHiSayHiStyledComponent](https://github.com/NisanurBulut/SayHiCode/blob/dev-sayhistyledcomponent/Trailers/Trailer_SayHiStyledComponent.gif)\n\n### 10. SayHiReactTypeScriptTemplate\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"100px\" height=\"100px\" src=\"https://raw.githubusercontent.com/NisanurBulut/SayHiCode/SayHiReactTypeScriptTemplate/SayHiReactTypeScriptTemplate/public/logo.png\"\u003e\u003cp\u003eThis work is a ReactJs application written with the TypeScript Template structure. Countries are listed using the RestCountriesAPI. Searches can be made between countries. ReactQuery and Axios libraries are used for http requests. Interface design is made using MaterialUI components.\u003c/p\u003e\n\n![SayHiXAML](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiReactTypeScriptTemplate.gif)\n\n### 11. SayHiXAML\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"120px\" height=\"120px\" src=\"https://github.com/NisanurBulut/SayHiCode/blob/master/SayHiXAML/images/logo.png\"\u003e\u003cp\u003eIn this study, an interface was designed using the \u003cb\u003eXAML language\u003c/b\u003e. The main purpose of the application is to demonstrate the use of the \u003cb\u003estrategy design pattern\u003c/b\u003e. Each student has a department. These are: numerical, verbal and equilibrium. In the exams, students order courses according to their departments. These courses are in Turkish, mathematics, social and science. The strategy design pattern prepares a priority order for the students according to their departments.\u003c/p\u003e\n\n![SayHiXAML](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiXAML.gif)\n\n### 12. SayHiTypeScript\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"120px\" height=\"120px\" src=\"https://github.com/NisanurBulut/SayHiCode/blob/master/SayHiTypeScript/public/assets/logo.png\"\u003e\u003cp\u003eIn this tutorial, the installation and usage of typescript is explained. The basics of TypeScript are practiced. Especially the use of tuple and interface has been studied.\u003cp\u003e\n\u003cb\u003eThis working will show you how to :\u003c/b\u003e\n\u003chr\u003e\n\n| Compiling TypeScript | Explicit Types             | Classes                    | Rendering an HTML Template |\n|----------------------|----------------------------|----------------------------|----------------------------|\n| Type Basics          | Dynamic (Any) Types        | Public, Private \u0026 Readonly | Generics                   |\n| Object \u0026 Arrays      | Better Workflow \u0026 tsconfig | Modules                    | Enums                      |\n| Function Basics      | Type Alies                 | Interfaces                 | Tuples                     |\n| Function signatures  | The Dom \u0026 Type Casting     | Interfaces With Classes    |                            |\n\n![SayHiXAML](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiTypeScript.gif)\n\n### 13. SayHiVue\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"120px\" height=\"120px\" src=\"https://github.com/NisanurBulut/SayHiCode/blob/master/SayHiVue/src/assets/winx.png\"\u003e\u003cp\u003eThis work is a Vue3 project. Data listing and sorting were done with json data. Practice has been made on using Vue-cli. Parent and child component relationship is examined.\n\n![SayHiVue](https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/Trailer_SayHiVue.gif)\n\n### 14. SayHiPython\n\u003chr\u003e\n\u003cimg align=\"left\" width=\"120px\" height=\"120px\" src=\"https://github.com/NisanurBulut/SayHiCode/blob/master/Trailers/sayhi.png\"\u003e\u003cp\u003eWith this study, an introduction to OOP with python was made. Excel file reading and data processing were done.\n\n## Helpfull Websites\n  [json-to-js](https://www.convertonline.io/convert/json-to-js) [json2ts](http://json2ts.com/) [fusioncharts](https://www.fusioncharts.com/)  [React-Query-Tutorial](https://www.youtube.com/watch?v=XRbnuiAbV3g\u0026list=PLzJ4DQ1UrlRb0XiN-vecbtZ31t-Q2Z6BD\u0026ab_channel=boraoren) [Laravel-artisan-blog](https://www.yasird.com/laravel-5-artisan-nedir/) [MailTrap](https://mailtrap.io/) [HeroIcons](https://heroicons.com/)\n  [The Net Ninja- Laravel Tutorial](https://youtu.be/zckH4xalOns) [Quicksand](https://fonts.google.com/specimen/Quicksand) [MyColorSpace](https://mycolor.space/) [JokeAPI](https://v2.jokeapi.dev/joke/Any)\n  [RestCountries](https://restcountries.eu/) [FakeStoreAPI](https://fakestoreapi.herokuapp.com/)\n[Strategy Pattern](https://www.youtube.com/watch?v=5upBcx8Z7FM\u0026t=151s) [TypeScriptTutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gUgr39Q_yD6v-bSyMwKPUI) [CatAPI](https://thecatapi.com/)\n[Python Tutorial for Beginners - Learn Python in 5 Hours [FULL COURSE]](https://youtu.be/t8pPdKYpowI)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisanurbulut%2Fsayhicode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnisanurbulut%2Fsayhicode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisanurbulut%2Fsayhicode/lists"}