/student-attendance-system

Backend for Student attendance system

Primary LanguagePythonMIT LicenseMIT

The Well App



What does this application do! 🚀

  • It is backend part of student attendance system for.
  • You can use this application for any kind of educational fields
  • ios/android: coming soon 👀


ABOUT PROJECTTECH STACKGETTING STARTEDINSTALLATIONUSAGECONTRIBUTINGLICENSE



Built With

  • Python
  • Django
  • DjangoREST
  • Postgres
  • Redis
  • AWS
  • Docker
  • Gunicorn
  • Nginx


Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

You need linux machine and Python package manager(pip) to run the project.

  • pip
    sudo apt install python3-pip
  • git
    sudo apt install git

Installation

  1. Clone the repo
    git clone https://github.com/sevbo2003/student-attendance-system.git
  2. Go to project directory
    cd student-attendance-system
  3. Create virtual environment
    python3 -m venv venv
  4. Activate virtual environment
     source venv/bin/activate
  5. Install requirements
    pip install -r requirements.txt
  6. Create .env file and fill it with your credentials like .env.example
    touch .env
    # .env
    DEBUG=True # or False
    SECRET_KEY=your_secret_key
    ALLOWED_HOSTS=*
    
    # db
    DB_NAME=
    DB_USER=
    DB_PASSWORD=
    DB_HOST=
    DB_PORT=
    
    # redis
    REDIS_URL=redis://user:password@host:port
    
    # cors
    CORS_ORIGIN_WHITELIST=
  7. Run migrations and migrate
    python manage.py makemigrations
    python manage.py migrate
  8. Create superuser
    python manage.py createsuperuser
  9. Run server
    python manage.py runserver
  10. Install Redis in your machine and run it
    sudo apt install redis-server
    redis-server
  11. Run celery worker
    celery -A config worker -l info
  12. Run celery beat
    celery -A config beat -l info
  13. All done! Now you can use the application


Usage

Here you can find important APIs to use the application

  • Get token for user
    POST /api/token/
    {
        "email": "your_email",
        "password": "your_password"
    }
  • Get students info
    GET /accounts/users/
  • Get teachers info
    GET /accounts/teachers/
  • Get groups info
    GET /attendance/groups/
  • Get group subjects info
    GET /attendance/group/{group_id}/subjects/
  • Get group students info
    GET /attendance/group/{group_id}/students/
  • Get attendance info
    GET /attendance/attendance-report/
  • Get daily attendance status
    GET /dailystat/


Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request


License

Distributed under the MIT License. See LICENSE for more information.



💛

Made with ❤️ by Abdusamad

  • Reminder that you are great, you are enough, and your presence is valued.