{"id":23857048,"url":"https://github.com/devcom-iitb/instiapp-api","last_synced_at":"2025-04-06T01:06:00.836Z","repository":{"id":41947626,"uuid":"121884317","full_name":"DevCom-IITB/instiapp-api","owner":"DevCom-IITB","description":"Django quasi-RESTful API for InstiApp!","archived":false,"fork":false,"pushed_at":"2024-12-11T18:01:45.000Z","size":2992,"stargazers_count":23,"open_issues_count":23,"forks_count":77,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T00:05:08.079Z","etag":null,"topics":["api","django","django-rest-framework","hacktoberfest","hacktoberfest2021","iitb","instiapp"],"latest_commit_sha":null,"homepage":"https://insti.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevCom-IITB.png","metadata":{"files":{"readme":"README.md","changelog":"news/__init__.py","contributing":null,"funding":null,"license":"LICENSE","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":"2018-02-17T19:12:52.000Z","updated_at":"2025-03-26T16:18:06.000Z","dependencies_parsed_at":"2023-01-31T05:01:04.886Z","dependency_job_id":"27e88abe-3207-4f9f-816f-b98c7790287f","html_url":"https://github.com/DevCom-IITB/instiapp-api","commit_stats":null,"previous_names":["wncc/instiapp-api"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevCom-IITB%2Finstiapp-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevCom-IITB%2Finstiapp-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevCom-IITB%2Finstiapp-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevCom-IITB%2Finstiapp-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevCom-IITB","download_url":"https://codeload.github.com/DevCom-IITB/instiapp-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419859,"owners_count":20936012,"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":["api","django","django-rest-framework","hacktoberfest","hacktoberfest2021","iitb","instiapp"],"created_at":"2025-01-03T02:45:06.054Z","updated_at":"2025-04-06T01:06:00.819Z","avatar_url":"https://github.com/DevCom-IITB.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InstiApp\n\nAPI in Django for InstiApp, the one platform for all student activities at Indian Institute of Technology, Bombay! InstiApp's features include upcoming events, placement blog, news and general information on every active club/body in the Institute.\n\n[![InstiApp](https://insti.app/instiapp-badge-gh.svg)](https://insti.app)\n[![Github Actions](https://github.com/wncc/instiapp-api/workflows/Github%20Actions/badge.svg)](https://github.com/wncc/instiapp-api/actions)\n\n[![codecov](https://codecov.io/gh/wncc/instiapp-api/branch/master/graph/badge.svg)](https://codecov.io/gh/wncc/instiapp-api)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/7e6a386dbec649c99aa6a10218cc3768)](https://www.codacy.com/manual/pulsejet/instiapp-api?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=wncc/instiapp-api\u0026utm_campaign=Badge_Grade)\n[![Requirements Status](https://requires.io/github/wncc/instiapp-api/requirements.svg?branch=master)](https://requires.io/github/wncc/instiapp-api/requirements/?branch=master)\n[![GitHub license](https://img.shields.io/github/license/wncc/instiapp-api.svg)](https://github.com/wncc/instiapp-api/blob/master/LICENSE)\n\n## Setup\n\nTo setup dependenices, install `pipenv` and run `pipenv sync`. You might want to run `export PIPENV_VENV_IN_PROJECT=true` first to create the `virtualenv` in the project folder. You can then activate the virtual environment with `pipenv shell`. After getting in the virtual environment run `pipenv sync` to install all the depencdencies in new env.\n\n- `python manage.py migrate` to create a new database.\n- `python manage.py createsuperuser` will let you create a new user to use the admin panel for testing.\n- `python manage.py runserver` to start a local server.\n- `flake8` to lint with `flake8`.\n- `pylint_runner` to check for code style and other errors statically with `pylint` in all files.\n\nIt is recommended to set up your IDE with both `pylint` and `flake8`, since these will cause the CircleCI build to fail. Google's [Python Style Guide](https://google.github.io/styleguide/pyguide.html) is followed upto a certain extent in all modules.\n\n## Running Tests\n\nTests can be run in two configurations:\n\n### Without Celery\n\nThis is the recommended and default configuration, and should suffice for all developmental purposes except if you are working with async tasks or notifications. Simply use `python manage.py test --settings backend.settings_test` to run automated tests.\n\n### With Celery\n\nThis is the default configuration for `full-test` GitHub builds. To test under this configuration, start a local PostgresQL and RabbitMQ server, and an instance of celery in background with `celery -A backend worker --pool=solo -l info`. Once celery is processing background tasks, you can run tests as `python manage.py test --settings backend.settings_test --keepdb`, ensuring that the database `test_instiapp` is created in postgres beforehand. The following environment variables must be set:\n\n- `DJANGO_SETTINGS_MODULE` to `backend.settings_test`\n- `NO_CELERY` to `false`\n\n### FTS\n\nFull-Text Search is implemented with [Sonic](https://github.com/valeriansaliou/sonic). To set up, install `cargo` and `sonic` and start it on `localhost`. Then set the `USE_SONIC` setting to `True`.\n\n## Documentation\n\nAutogenerated OpenAPI specification can be accessed at `http://server/api/docs/` (or at the [official deployment](https://gymkhana.iitb.ac.in/instiapp/api/docs/))\n\n## Contributing\n\nPull requests are welcome, but make sure the following criteria are satisfied\n\n- If you are (possibly) breaking an existing feature, state this explicitly in the PR description\n- Commit messages should be in present tense, descriptive and relevant, closely following the [GNOME Commit Message Guidelines](https://wiki.gnome.org/Git/CommitMessages). Adding a tag to the message is optional (for now). Commits should not have git tags unless they indicate a version change.\n- Documentation should be updated when the API is modified\n- All required status checks must pass. Barring exceptional cases, relevant tests should be added/updated whenever necessary.\n- Barring exceptional cases, Codacy should not report any new issues\n- Follow the general style of the project. Badly written or undocumented code might be rejected\n- If you are proposing a new model or modifications to an existing one, create an issue first, explaining why it is useful\n- Outdated, unsupported or closed-source libraries should not be used\n- Be nice!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevcom-iitb%2Finstiapp-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevcom-iitb%2Finstiapp-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevcom-iitb%2Finstiapp-api/lists"}