Proof of concept: JSON on GitHub to/from MongoDB collection via Python
$30-250 USD
Cerrado
Publicado hace alrededor de 5 años
$30-250 USD
Pagado a la entrega
At the beginning of this project, I will provide you with access to a cloud-based computer with MongoDB and Python 3 installed. I will also provide you with a read-write deploy key for a private GitHub repository. The GitHub repository will contain two .json files. Each file will consist of a list of dicts.
Your task will be to implement the following two Python functions:
def gh2mongo():
'''Check out a copy of the GitHub repo into a temp directory. For each .json file in the repo, create or replace a collection in MongoDB whose name is the same as the .json file with the contents of the .json file. For example, create or replace the contents of "my_collection" with the contents of "[login to view URL]".'''
def mongo2gh():
'''Check out a copy of the GitHub repo into a temp directory. For each collection, update or replace the existing .json file with the items in the collection. For example, create or replace the contents of '[login to view URL]' with the records inside the MongoDB collection "my_collection". Commit the new/changed .json files and push to GitHub.'''
Requirements:
- Create temp directories using the 'tempfile' library.
- Interact with GitHub using pygit2 ([login to view URL])
- Interact with MongoDB using PyMongo ([login to view URL])
- No calls to popen or other low-level OS functions. Everything should work via high-level APIs.
- No shell scripting; everything should be in the Python file.
- No duplicate code: any code that's used in two places should be factored out.
Hello!
I'm interesting your project very well and full time developer.
I have great skill in design and php.
My price and period is negotiable.
Employee’s satisfy is my happiness !
Let's go ahead with me !
My Skills: Responsive Website design
PHP, CakePHP, Laravel, Codeigniter, Symphony, Wordpress HTML/CSS/JavaScript/jQuery/Bootstrap/AngularJS/Vuejs/SASS
MySQL/MSSQL/PostgreSQL/SQLite/Oracle
Hello,
I have gone through your job posting and become very much interested to work with you. I am an expert in this field. I have already completed several projects like this. For evidence you can see my profile.
Please visit : https://www.freelancer.com/u/schoudhary1553
I have excellent command over English. I am a hard worker, productive and worthy of your attention I hope, I would be the right candidate for this post. Awaiting an affirmative response from you.
Kinds Regards,
Sandeep
Hello!
I am a python developer.
I looked at your project and it seems interesting.
I have all necessary skills required for this project.
Ping me to discuss in detail.
I'm very skilled in Python and MongoDB and can complete this work within 2-3 days with adequate testing of corner cases. I can complete the task as per your requirements, ie) using only PyMongo & high-level functions. Please explain how you would like to handle the following cases,
1) Github delete - file deleted in the repo. What we should do in such a case? Would you like to delete the collection or renamed the collection to say "my_collection_deleted".
2) Timestamping? Are the files in mongo timestamped? This is will complicate the work we need to check what is the latest and commit. I'm assuming we need to assume while doing mongo2gh, everything in mongo should be treated as latest.
I'm using Django and mongoengine for a long time. ( I believe it is more elegant than pymongo after a long time using) It will also be ok if you ask to use pymongo. And I also have much experience on Github API. I believe I'm the right partner for you. Thanks.