{"id":21977550,"url":"https://github.com/jrodriguezn19/royalspectreproject","last_synced_at":"2026-04-16T05:02:51.621Z","repository":{"id":37999441,"uuid":"228981676","full_name":"jrodriguezn19/RoyalSpectreProject","owner":"jrodriguezn19","description":"Image-based Web app using Angular framework for creatives to show their projects.","archived":false,"fork":false,"pushed_at":"2024-09-09T05:28:04.000Z","size":45669,"stargazers_count":1,"open_issues_count":44,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T03:42:24.743Z","etag":null,"topics":["angular","javascript","mongodb","nodejs","typescript"],"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/jrodriguezn19.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":"2019-12-19T05:28:39.000Z","updated_at":"2024-09-09T05:28:08.000Z","dependencies_parsed_at":"2024-09-06T12:54:59.948Z","dependency_job_id":"b1ad1606-2511-45dd-9673-34d291639d64","html_url":"https://github.com/jrodriguezn19/RoyalSpectreProject","commit_stats":null,"previous_names":["jrodriguezn19/royalspectreproject"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodriguezn19%2FRoyalSpectreProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodriguezn19%2FRoyalSpectreProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodriguezn19%2FRoyalSpectreProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrodriguezn19%2FRoyalSpectreProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrodriguezn19","download_url":"https://codeload.github.com/jrodriguezn19/RoyalSpectreProject/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245039659,"owners_count":20551282,"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","javascript","mongodb","nodejs","typescript"],"created_at":"2024-11-29T16:15:38.450Z","updated_at":"2026-04-16T05:02:51.538Z","avatar_url":"https://github.com/jrodriguezn19.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## RoyalSpectre Social Network\r\n\r\n![MainPage1.png](https://github.com/jrodriguez19/RoyalSpectreProject/blob/master/SpectreFrontEnd/screenshots/MainPage1.png?raw=true)\r\n\r\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fjrodriguez19%2FRoyalSpectreProject\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\r\n\r\n**Authors**\r\n-   Jorge Rodriguez Nocua. (George)\r\n-   Jayden Pilling.\r\n-   Giovanni Tjahjono.\r\n-   Yogesh Adhikari.\r\n\r\n**Technologies Used**\r\n- **Angular** and Bootstrap is used for the Frontend.\r\n- **Node.JS** is used for the Backend.\r\n- **MongoDB** is used to store the user's data except images.\r\n- Auth0 provides the login module to authenticate users.\r\n- Firebase Storage provides the service to host the user's images.\r\n\r\n**Vision**\r\n\r\n-   The cultivation of an online space where visions are shared through the use of visual stimulus and no text.\r\n-   A place where people and teams can showcase their creative projects using a single image or a series of images to conceptualise an idea or project which may be purely conceptual, in-flights, or finished. A way to get meaningful traffic to your project web sites.\r\n\r\n**Mission**\r\n\r\n-   What will the app try to achieve?\r\n    \r\n    -   Image based app for creatives to display their projects or vision using a single image or a series of images.\r\n    -   Users can give images 'nods' which are like 'likes' to concepts/images are they like or that speaks to them.  _'If you nod at a piece of work, let them know, give them a Nod'_\r\n    -   The image can be accompanied by only a single URL to find more about the project/concept/vision if they choose\r\n    -   Uploads can be accompanied by 3 keywords to categorise the image(s) into broad topics\r\n    -   There will be a tab with the most 'nods' for popular image(s), which can also be sorted by category.\r\n    \r\n    **Functions**\r\n    \r\n-   Image upload and storage (single and series)\r\n    \r\n-   Likes storage in the form of 'Nods'\r\n    \r\n-   Sorting through pre-determined 'tags' or 'keywords'\r\n    \r\n-   Sorting through 'most Nods'\r\n    \r\n-   Thread-like or feed-like structure which is updated on a single page application (SPA)\r\n    \r\n\r\n**Key principles of code style**\r\n\r\n-   Modular code: separate key parts into separate directories which export modules back to the 'server.js'\r\n-   Clean and commented code: readability of everyone in the team and all those who wish to audit\r\n-   Proper indentation for readability\r\n-   Branch, pull, and push often enough so we are all working on the cleanest up to date code\r\n-   Remove all redundant code which may be commented out. Either use it or delete it\r\n-   Outsouce functionality where practical: authorisation methods, fetch, bootstrap, etc\r\n-   Keep things as simple and clean as possible. Readability and simplicity are better than fancy code\r\n-   Don't repeat code. Where possible clean up any duplicate items and instanciate/reference once\r\n-   Maintain proper scope. If a variable is only needed in a function it should be instanciated with proper scope inside\r\n-   Single responsibility: Every module should only have one specific purpose/functionality\r\n-   Refactor each code module 2 or 3 times before finalisation. It is likely the first time it is written is not the best (maybe it is though!)\r\n-   Where possible implement promises and generators: i.e. implementation of ECMAScript6 libraries.\r\n-   Plan new features end-to-end before coding\r\n-   Use proper naming conventions: e.g. getUser(), function createUser()\r\n-   Implement new constructor convention, EC6 syntax: Class Person { constructor(name) { this.name = name;}}\r\n\r\n**How to install/run the app**\r\n\r\n-   Right now you can run the front-end and back-end on separate servers.\r\n-   Front-End:  `git pull`  \u003e  `cd SpectreFrontEnd`  \u003e  `npm install`  \u003e  `ng serve`  == Server should now be running for Front-end\r\n-   Back-End:  `git pull`  \u003e  `cd SpectreBackEnd`  \u003e  `npm install`  \u003e  `npm run devstart`  == Server should now be running for Back-end\r\n-   HTTP requests/Using Restful API: Open up postman \u003e run get, post, put, delete as you will. NB: authorisation token required to run post, put, and delete requests. Access new token here:  [https://manage.auth0.com/dashboard/au/dev-q39f5c5h/apis/5d6b220375c40e076d471d4d/test](https://manage.auth0.com/dashboard/au/dev-q39f5c5h/apis/5d6b220375c40e076d471d4d/test)\r\n\r\n**Team Member Roles**\r\n\r\n-   George: Frontend/Backend developer\r\n-   Jayden: PM \u0026 Back-end\r\n-   Giovanni: Frontend \u0026 UI designer\r\n-   Yogesh: Frontend/Backend developer\r\n\r\n**Git Protocols**\r\n\r\n-   Branch early and often\r\n-   Let the team know on trello discussion card what you're working on and when ;  [https://trello.com/b/J3xMvp6v/royal-spectre-assignment-3](https://trello.com/b/J3xMvp6v/royal-spectre-assignment-3)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrodriguezn19%2Froyalspectreproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrodriguezn19%2Froyalspectreproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrodriguezn19%2Froyalspectreproject/lists"}