{"id":14957579,"url":"https://github.com/codeuino/social-platform-donut-frontend","last_synced_at":"2025-04-05T08:07:35.188Z","repository":{"id":41812254,"uuid":"135338492","full_name":"codeuino/social-platform-donut-frontend","owner":"codeuino","description":"This is an Open Source social Platform where people can interact with Open Source expertise around the globe and work on different projects","archived":false,"fork":false,"pushed_at":"2022-12-08T07:44:49.000Z","size":129926,"stargazers_count":207,"open_issues_count":109,"forks_count":220,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-29T22:39:09.234Z","etag":null,"topics":["express-js","hacktoberfest","html-css","javascript","mongodb","nodejs","nodejs-framework","open","open-source","reactjs","socialnetwork","web-framework"],"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/codeuino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-29T18:40:44.000Z","updated_at":"2024-09-19T01:28:28.000Z","dependencies_parsed_at":"2022-09-17T16:11:59.247Z","dependency_job_id":null,"html_url":"https://github.com/codeuino/social-platform-donut-frontend","commit_stats":null,"previous_names":["codeuino/social-platform-donut"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeuino%2Fsocial-platform-donut-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeuino%2Fsocial-platform-donut-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeuino%2Fsocial-platform-donut-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeuino%2Fsocial-platform-donut-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeuino","download_url":"https://codeload.github.com/codeuino/social-platform-donut-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284957,"owners_count":20913704,"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":["express-js","hacktoberfest","html-css","javascript","mongodb","nodejs","nodejs-framework","open","open-source","reactjs","socialnetwork","web-framework"],"created_at":"2024-09-24T13:15:11.041Z","updated_at":"2025-04-05T08:07:35.171Z","avatar_url":"https://github.com/codeuino.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg height=200px src=\"./READMEassets/doughnut.png\"\u003e\n\n\u003ch1\u003eDONUT\u003c/h1\u003e\n\ncodeuino's open source social platform \u003cbr\u003e\u003cbr\u003e\n\n[![Slack Status](https://img.shields.io/badge/slack-chat-yellow.svg?logo=slack)](https://codeuino.slack.com) [![PRs Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?logo=github)](http://makeapullrequest.com) [![Issues Open](https://img.shields.io/github/issues-raw/codeuino/Social-Platform-Donut.svg?color=orange\u0026logo=github)](https://github.com/codeuino/Social-Platform-Donut/issues) [![License: Docs v3](https://img.shields.io/badge/License-GPLv3-blue.svg?logo=github)](https://www.gnu.org/licenses/gpl-3.0) [![License: Docs v3](https://img.shields.io/badge/Documentation-Gitbook-blue.svg?logo=github)](https://docs.codeuino.org/donut-social-networking-platform/)\n\n\u003c/div\u003e\n\n# About\n\nBeing inspired by the Cornucopia of various social hub this project has been developed taking into consideration about open source.\n\nWell, this is an Open Source Social networking hub which acts as a bridge between various Developers, Organisations and Open Source aspirants to elaborate on various things like Projects, Events, Discussion on various researches, Scholarships, Coding release and various other things updates.\n\nThe major priority of this project has been that this platform allows users to make their project \"Open Sourced\" and released them under various open source Organisations, experts which hold up a ring plate on this portal.\n\nThis platform also makes users introduce and develops various solutions in the form of FOSS software to publish them for public use by integrating them with their social cause. Moreover, this project can be downloaded by any user, organization and can be used by them in their own custom way, making it run on their servers.\n\n### Frontend Technology Stack\n\n- SCSS: Styling web pages, html files\n- Javascript: Primary programing language\n- ReactJS v16.12: Javascript library for building User Interfaces\n- Bootstrap: Styling framework.\n\nLearn more about the donut platform at the [official donut documentation](https://docs.codeuino.org/donut-social-networking-platform/).\n\n---\n\n# Setting up the work environment.\n\nFew things are required before setting up the project locally,\n\n- **A Web Browser** - You can install any browser as per your preference e.g. Google Chrome etc. JavaScript works on any web browser on any OS.\n- **An Editor**- We prefer an editor which has built-in features of IntelliSense support and syntax error highlighter for speedy development. Download Visual Studio Code from [here](https://code.visualstudio.com/download).\n- **Node and Node Package Manager(NPM)**\n  Check if node and npm are already installed by running the following commands in the terminal\n  `node -v npm -v`\n  If the node and npm are installed\n  If not, install it in,\n- **Windows \u0026 MacOS**\n\n  Installing Node and NPM on Windows and macOS is straightforward because you can just use the provided installer:\n  Go to https://nodejs.org/en/\n  Select the button to download the LTS build that is \"Recommended for most users\".\n  Install Node by double-clicking on the downloaded file and following the installation prompts.\n\n- **Ubuntu**\n  The easiest way to install the most recent LTS version of Node 10.x is to use the [package manager](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) to get it from the Ubuntu _binary distributions_ repository. This can be done very simply by running the following two commands on your terminal:\n  `curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs`\n  **\\***\n\n# Setting up the donut frontend potion locally.\n\n**Forking The Repository**\n\nThe first step of setting the donut frontend locally is to fork the original repository. This creates a copy of that repository under your own account enabling you to begin working with the code. The rights to public repositories will be such that you can view the code, but not directly commit into the repository or create branches. This allows the project owners to control changes within their codebase.\n\nThe forking step creates a copy to which you do have permission to commit and branch on and you can consider this your working copy of the project. You can make changes and commits here, safe in the knowledge that you will not affect the main repository.\n\nIn order to fork the donut frontend repository visit [here](https://github.com/codeuino/social-platform-donut-frontend)\n\n![](https://i.imgur.com/bWLML1u.png)\n\n**Cloning the forked repository**\n\nIn order to clone the forked repository visit fork of the donut repository under \"your repositories\" section and click on the “Clone or download” which will open a UI showing the Git URL. A button to the right hand side of the URL allows you to copy it into your clipboard.\n\n![](https://i.imgur.com/2UyN3KV.png)\nThere are various graphical tools you can use to work with Git repositories but for simple procedures, the command line is often fastest.\n\nOpen a command window and navigate to the path where you would like to clone the repository.\nUse the following command to begin a clone:\n\n```\ngit clone https://github.com/\u003cyour github username\u003e/social-platform-donut-frontend.git\n```\n\nOnce the command completes you will have a new folder containing the cloned repository. We can validate this by running the “dir” command. We can then move into that directory using the \"cd social-platform-donut-frontend\" command.\n\n![image of command line](https://i.imgur.com/QsQy4Sg.png)\n\n**Setting up a remote upstream**\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\nThe next step is to set up a remote. Remotes simply represent paths or URLs to other versions of your repository. In our case, as we cloned from our fork on GitHub a default remote will have been setup for us called origin. This origin allows us to push and pull code from our forked repository hosted on GitHub. We can list the currently configured remotes on our machine using the “git remote” command.\n=======\n    ```shell\n    npm install\n    or \n    yarn global add\n    ```\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e master\n\nPushing and pulling from your own fork is very useful and this will be how you will work with the project most often. However, when working on that code, you’ll want to be starting from the most recent version of the code from the main donut-frontend repository. That code may have been updated and changed since you first made your fork. In order to get access to that latest code, we’ll setup a second remote which points to the main donut-frontend repository. We will not have commit rights there, so we cannot push changes, however, we will be able to fetch the latest commits that have occurred.\n\nTo create a new remote we use the “git remote add” command, passing in a name for the new remote and the URL as arguments. In our case since we want the second remote to point towards the original donut-frontend repository we will use the follwing command. It's possible to name the remote anything you like, but the convention is to name it \"upstream\".\n\n```\ngit remote add upstream https://github.com/codeuino/social-platform-donut-frontend.git\n```\n\n**Installing the dependencies and running our local version of donut-frontend**\n\nThe next step is to install the required dependencies to our newly created donut-frontend app. This could be done by running the following command in the terminal.\n\n```\nnpm install\n```\n\nThe npm install command will install all the project dependencies mentioned in the package.json file.  \nOnce all the dependencies are completely installed the final step is to run our local instance using the following command.\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n```\nnpm start\n```\n=======\nAdding yarn support for the packages just type `yarn`in the cli and hit enter.\n\nSetting Up Database\n------------\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e master\n\nNow visit the [http://localhost:3000](http://localhost:3000) using your favorite browser to see your very own donut-frontend app in action!\n\nThere are few last steps to follow however before you can start exploring the donut platform.\nTo get most out of locally setup frotnend environment, we highly suggest to setup an instance of the donut backend as well. The backend repository could be found at [https://github.com/codeuino/social-platform-donut-backend](https://github.com/codeuino/social-platform-donut-backend)\n\n1. Once the backend environment is successfully setup, create a new Organization/Community by visiting the link [http://localhost:3000/setup](http://localhost:3000/setup). Follow the instructions and fill in the fields provided by the screen.\n2. The next step is sign up using a new admin account. This could be achieved by visiting the [http://localhost:3000/admin](http://localhost:3000/admin) and using the \"Admin Account Signup card.\"\n3. Login using the newly created admin account.\n\nYou are now all set to explore the donut platform!\n\n# Contributing to the donut frontend.\n\n**Choosing an issue**\n\nThe first step when contributing to donut-frontend is to visit the project site and find an issue you would like to work on and which you think is suitable for your skill set. From the project homepage on GitHub you can click the Issues tab to navigate to a list of the open issues.\n\n![enter image description here](https://i.imgur.com/ncLCy84.jpg)\nAfter chosing an issue from the issues tab click on that particular issue to view more details about it. The issue details page provides the full information about the issue. Usually the top comment will include details of the bug or the feature that is needed. Issues can be raised by anyone and as a result, the level of detail may not always be sufficient to understand the problem or requirement. On allReady, the project owners and core contributors try to view new issues and triage them. This involves verifying the issue being reported is valid and where necessary, providing some further details or guidance. If it’s not clear what is needed from an issue, you can leave a comment to ask questions about it. If you have an idea for a solution, but want to run it past the project team before starting, work, you can leave a comment for that too. Issues are a good place for open discussions like this.\n\n**Working on an issue**\n\nWhen beginning work on an issue locally, the first thing you’ll need to do is to create a branch for that piece of work. There are many Git UI tools that allow you to create a branch, for this demo we’ll use the command line. To create and checkout a branch you can use a single command.\n\n```\ngit checkout -b \u003cbranchname\u003e\n```\n\nThis command allows us to specify a name for our new branch and immediately check it out so we can work on it. It's common to name the branch with the issue number. For exmaple if we are working on the issue #223 it would be a good idea to name the branch,\n\n```\ngit checkout -b 223\n```\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\nOnce we are on our new branch we can make changes to the code which address the issue. When we have made the required changes that address a particular issue, we need to commit that code to our branch. We can use the “git status” command to view the changes since our last commit.\n=======\n* 💬 Join the community on [Slack](https://slack.codeuino.org/)\n* 📣 Stay up to date on new features and announcements on the following:\n  - [@Mailing List](mailto:codeuino-devel@googlegroups.com).\n  - [@Discussion Portal](https://groups.google.com/d/forum/codeuino-devel).\n  - [@Codeuino Wiki](https://docs.codeuino.org/).\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e master\n\n```\ngit status\n```\n\nWe then use the “git add” command to stage the changes for the next commit. It's possible to add the files one by one by spcifying their relative path afterwards. For example if we want to add the corrections.js file in the same directory,\n\n```\ngit add corrections.js\n```\n\nHowever if you want to stage all the files that have been changed, it's also possible with the follwing command.\n\n```\ngit add .\n```\n\nNext we will commit our staged changes using the “git commit” command. In this case we can use the following example:\n\n```\ngit commit -m \"Fix readme typo\"\n```\n\nThe -m option allows us to specify a message for our commit. It’s good practice to try and provide a succinct, but descriptive message for your commits. This helps a reviewer understand at a high level what was addressed in each commit.\n\nAt this point we have made and committed out changes local to our development machine. Our final step is to push the changes to our fork of the allReady repository up on GitHub. We can do that using the “git push” command. We need to specify the name of the remote that we want to push to and the name of the branch we want to push up.\n\n```\ngit push origin 223\n```\n\nNow the changes we have made are pushed into our fork in GitHub. The final step is to make a pull request . A **pull request** (PR) is a method of submitting contributions to an open development project. It occurs when a developer asks for changes committed to an external repository to be considered for inclusion in a project's main repository after the peer review.\n\nIn order to make a pull request, visit the forked repository on github. On the top right hand side a button will now be there mentioning that a pull request is ready to be made.\n\nPrior to making the PR make sure to choose the base branch as development branch using the dropdown.\n![enter image description here](https://i.imgur.com/bTN9On5.jpg)\nClick on the \"compare and pull request\" button to make the pull request!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeuino%2Fsocial-platform-donut-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeuino%2Fsocial-platform-donut-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeuino%2Fsocial-platform-donut-frontend/lists"}