Skip to content

This was the intern task where I handled testing, creating APIs for principal routes, and Dockerization.

Notifications You must be signed in to change notification settings

AnuragDahal/fyle-interview-intern-backend

 
 

Repository files navigation

Fyle Backend Challenge

Who is this for?

This challenge is meant for candidates who wish to intern at Fyle and work with our engineering team. You should be able to commit to at least 6 months of dedicated time for internship.

Why work at Fyle?

Fyle is a fast-growing Expense Management SaaS product. We are ~40 strong engineering team at the moment.

We are an extremely transparent organization. Check out our careers page that will give you a glimpse of what it is like to work at Fyle. Also, check out our Glassdoor reviews here. You can read stories from our teammates here.

Challenge outline

You are allowed to use any online/AI tool such as ChatGPT, Gemini, etc. to complete the challenge. However, we expect you to fully understand the code and logic involved.

This challenge involves writing a backend service for a classroom. The challenge is described in detail here

What happens next?

You will hear back within 48 hours from us via email.

Installation

  1. Fork this repository to your github account
  2. Clone the forked repository and proceed with steps mentioned below

Install requirements

virtualenv env --python=python3.8
source env/bin/activate
pip install -r requirements.txt

Reset DB

export FLASK_APP=core/server.py
rm core/store.sqlite3
flask db upgrade -d core/migrations/

Please be aware that resetting the database could cause some tests to fail. This could be due to the absence of expected data or the presence of incorrect data as per the test setup.

Start Server

bash run.sh

Docker Setup

Before you can build and run the Docker container, make sure you have Docker Desktop installed and the Docker daemon is running.

To build and run the container, use the following command:

docker-compose up

The application will be accessible at localhost:5000.

Local Machine Setup (Windows)

To run the application on your local machine, use the following command:

python run.py

Run Tests

pytest -vvv -s tests/

# for test coverage report
# pytest --cov
# open htmlcov/index.html

About

This was the intern task where I handled testing, creating APIs for principal routes, and Dockerization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Python 96.7%
  • Mako 1.6%
  • Other 1.7%