{"id":22983349,"url":"https://github.com/muthukumar89uk/job-post","last_synced_at":"2025-04-02T10:23:56.215Z","repository":{"id":250282135,"uuid":"834010959","full_name":"muthukumar89uk/job-post","owner":"muthukumar89uk","description":"This is a simple job site real-time project built using  @labstack-echo web framework @golang and @postgresql as Database","archived":false,"fork":false,"pushed_at":"2024-08-01T08:32:49.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T01:33:22.113Z","etag":null,"topics":["golang","labstack-echo","postgresql-database","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","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/muthukumar89uk.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":"2024-07-26T08:31:25.000Z","updated_at":"2024-08-01T08:32:52.000Z","dependencies_parsed_at":"2024-07-31T19:10:29.202Z","dependency_job_id":"276d34ac-ef68-40b1-b463-8af83f4099d3","html_url":"https://github.com/muthukumar89uk/job-post","commit_stats":null,"previous_names":["muthukumar89uk/job-post"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muthukumar89uk%2Fjob-post","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muthukumar89uk%2Fjob-post/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muthukumar89uk%2Fjob-post/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muthukumar89uk%2Fjob-post/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muthukumar89uk","download_url":"https://codeload.github.com/muthukumar89uk/job-post/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246794988,"owners_count":20835105,"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":["golang","labstack-echo","postgresql-database","rest-api"],"created_at":"2024-12-15T02:38:25.274Z","updated_at":"2025-04-02T10:23:56.190Z","avatar_url":"https://github.com/muthukumar89uk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Job-Posting with echo web-framework**\r\n\r\nClone the git repo - `git clone https://github.com/muthukumar89uk/job-post.git` - or [download it](https://github.com/muthukumar89uk/job-post/zipball/master).\r\n\r\n## General view about the Job Site Project\r\n\r\nThis is a simple job site project built using the Echo web framework in Golang. \r\n\r\nThe project provides RESTful APIs for user authentication, job posting, and user comments on job posts. \r\n\r\nThe backend includes functionalities to sign up, login, post job details, view job postings, post and view user comments,\r\n\r\nupdate and delete job postings and comments.\r\n\r\n## Getting Started\r\n\r\n### Installation\r\n\r\n1. Clone the repository:\r\n\r\n   ```\r\n   git clone https://github.com/muthukumar89uk/job-post.git\r\n   ```\r\nClick here to directly [download it](https://github.com/muthukumar89uk/job-post/zipball/master).\r\n\r\n## Install dependencies:\r\n\r\n          go mod tidy\r\n\r\n## Run the Application\r\n  1. Run the Server\r\n   \r\n       ```\r\n          go run .\r\n       ```   \r\n  2. The server will start on `http://localhost:8000`.\r\n\r\n## Technology Stack\r\n\r\nThe Job Site Real Time Exercise Task project is built using the following technologies:\r\n\r\n- **Golang**: The backend is written in Go (Golang), a statically typed, compiled language.\r\n\r\n- **Echo**: The Echo web framework is used to create RESTful APIs and handle HTTP requests.\r\n\r\n- **JWT**: JSON Web Tokens are used for secure user authentication and authorization.\r\n\r\n- **bcrypt**: Passwords are stored securely in hashed form using the bcrypt hashing algorithm.\r\n\r\n- **postgres**: PostgreSQL is an advanced, enterprise class open source relational database that supports both SQL and JSON  querying. \r\n                It is a highly stable database management system, which has contributed to its high levels of resilience,and correctness. \r\n\r\n## Run Swagger\r\n \r\n Using the `http://localhost:8080/swagger/index.html` URL to run the swagger.\r\n\r\n ##  Project explanation\r\n\r\n-\u003e In this Job site Real time task it has signup and login api. While login up it generates a JWT token. With the help of this token we can do        \r\n   authorization for user and admin.\r\n\r\n-\u003e In job posting API only admins are allowed to post the job details, and also only admin have the authorization to do update and delete the job post.\r\n\r\n-\u003e Only user and admin are authorized to view the job post details, get job post details using job id, get job post details using specific company name. \r\n\r\n-\u003e Only user are given authorization to post comment on job post using job id, update comment and delete comment.\r\n\r\n-\u003e Only user and admin are authorized to view the job post comments, get comment using comment id.\r\n\r\n\r\n\r\nThe following API endpoints are available in the Job Site project:\r\n\r\n- **POST /signup**: Register a new user account.\r\n\r\n- **POST /login**: Log in with registered credentials and receive a JWT token.\r\n\r\n- **POST /jobposting**: Post job details (Admin Authentication required).\r\n\r\n- **GET /jobpostings**: Get all company job posting details (Admin and user authentication required ).\r\n\r\n- **GET /jobpostings/:id**: Get job posting details by job ID (Admin and user authentication required).\r\n\r\n- **PUT /jobpostings/:id**: Update job posting details by job ID (Admin Authentication required).\r\n\r\n- **DELETE /jobpostings/:id**: Delete a job posting by job ID (Admin Authentication required).\r\n\r\n- **GET /jobpostings/company/:companyname**: Get all job postings from a specific company ( Admin and user authentication required).\r\n\r\n- **POST /usercomments**: Post a comment on a job post (User authentication required).\r\n\r\n- **GET /usercomments**: Get all user comments (Admin and user authentication required).\r\n\r\n- **GET /usercomments/:id**: Get a specific user comment by comment ID (Admin and user authentication required).\r\n\r\n- **PUT /usercomments/:id**: Update a user comment by comment ID (User authentication required).\r\n\r\n- **DELETE /usercomments/:id**: Delete a user comment by comment ID (User authentication required).\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuthukumar89uk%2Fjob-post","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuthukumar89uk%2Fjob-post","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuthukumar89uk%2Fjob-post/lists"}