Project Name

Feature management Rest Service

Mentor Details

Name: 

Saniya Najeeb

Organisation:

LinkedIn

Designation:

Software Engineer

Project Description

Every organisation needs a way to ship new features to the users without causing any issues. Managing such features is a tedious task. Almost every software company on the planet has one version or the other of this to control the behaviour of the application without having to re-deploy the application. Consider an example - You have built a new feature that you want to release to your users. But there can be a bug in the new feature (there always is), because of which you need a way to revert the behaviour back to how it was as fast as possible. In such scenarios it a common practise to write a code in this way
if (feature_enabled) {
// new_flow
} else {
// old_flow
}

where-in , the feature_enabled part is served from some external dynamically editable component like a file, database, cache, etc. This way, the administrators can just change the value of the feature in lets say a database and the behaviour will be altered in the live application.

The idea here is to build a pluggable service which anyone plug into their micro-service based architecture.

Expected outcome -
A rest based service which runs independently and offers this functionality -
- Create a feature
- Update a feature
- Get value of the feature
- Delete feature
- Has connectors for storing the data in few of the common databases - MySQL, MongoDB, etc
- A cache layer on-top of the storage to avoid repeated calls and high performance

Programming Languages

Ruby or Python or Java

Project Pre-requisites

Basic understanding of REST and MVC

Project Duration (in Months)

2

Number of openings

2

Project Difficulty

Moderate

Additional Information

If the project development completes in time, we can even bundle this functionality into easily pluggable package (gem in rails, packages in python, etc)

Proposal requirements

It would be great if you can try to come up with which tables you would use to build the service. What would be the schema, etc. If you know about the MVC, what routes would this application have. If you are completely new to this, read up about the different types caching frameworks and which one you would use here and why

Have questions or feedback? Interested in working with us?  Email us at connectinternlink@gmail.com