/thapar_app

A general purpose application for backend in GraphQL and REST API for making applications over it. 🔮

Primary LanguageJavaScriptOtherNOASSERTION

DEVELOPER STUDENT CLUBS TIET

Thapar Application VEXIO 🚀

The Plan is to build an amazing application for Thapar Campus People from all walks of life !

PythonCI NodeJS_CI

About 💫

The Aim of the project is to create something of value for people in Thapar Campus. It is our current belief that the information disposal and spread isn't upto mark and there is ample opportunity for growth and making better systems for everyone's daily use. Our goals is to make this application system that is of daily tool which people look up to.

Some Salient Features of Project 🔭

  • A Scalable, Polished, Maintainable Backend Design created for growth and upgrades.
  • Create Endpoints for Every Developer in Campus
  • Build Secure Solutions and Applications for Thaparites with Clients in Web and Mobile (Current Plan)

Contributon 🎛

  • We would be more than elated to have PR from anyone, also outside community to grow the project.
  • If any bug fixes are are required and feature needs building please raise Issues and our team would respond quickly

Getting Started ⚙️

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

We follow a systematic Git Workflow -

  • Create a fork of this repo.
  • Clone your fork of your repo on your pc.
  • Add Upstream to your clone
  • Every change that you do, it has to be on a branch. Commits on master would directly be closed.
  • Make sure that before you create a new branch for new changes,syncing with upstream is neccesary.

Setting up pre-commit hooks

Make sure that you install pre-commit hooks before you make any contributions so that your code is refactored according to standards. To do that run the following inside the project repo - pre-commit install

Setup and running of project (Backend) 🧮

  • Fork the repo and clone it.

  • Go in the repo and setup virtualenvironment using
    python -m virtualenv venv

  • Then activate the environment using
    On Windows source venv/Scripts/activate On MacOS/Linux source venv/bin/activate

  • Change into the ./hashx directory.

    All the following steps are to be executed in the hashx directory.

  • Install requirements
    pip install -r requirements.txt

  • Copy the contents of .env.debug and paste it into a new file named as .env. Note: this file should be present in the hashx/ directory.

  • set secret key for your django project.

  • You can use [https://djecrety.ir/] to generate your secret key

  • After the above setup, run
    python manage.py makemigrations
    python manage.py migrate

  • Start the backend server
    python manage.py runserver
    Runs the backend server at default port 8000.
    Open http://localhost:8000 to view it in the browser.

The page will reload if you make edits.

Setup and running of project (Frontend) 🔮

  • Navigate to hashx_frontend
  • Run npm ci to install all the dependencies
  • Start react dev server
  • npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

Note

  • If you are adding any new requirements for the project, make sure that you are adding it to requirements.txt
  • Use only npm install package_name to add new packages to the frontend part.

Built With ⚒

Backend 📡

Web Application 🖥

  • React - Do you Even Need an introduction to this ? 😂
  • Apollo - Apollo Client is used to integrate GraphQL in React
  • Material-UI - UI Framework used in the project.

Mobile Application( New Repo Soon ) 📲

  • React Native- Better to write one codebase instead of two 😉

Versioning 🗓

We use SemVer for versioning.

Authors ✍🏻

See also the list of contributors who participated in this project.

License 📜

This project is licensed under the GNU-GENERAL-PUBLIC-LICENSE - see the LICENSE.md file for details

Acknowledgments 💯

  • DSC Team for showing enthusiasm for the project
  • All People who have seen the bright side and impact application can make
  • All people who were initially approached and didn't see potential in project.