DEV Community 👩‍💻👨‍💻

Cover image for MongoDB Atlas Hackathon Help Thread
dev.to staff for The DEV Team

Posted on

MongoDB Atlas Hackathon Help Thread

If you're participating in the MongoDB Atlas Hackathon and you need some help with your submission, welcome! You are in the right place and we're excited to help.

If you have any questions about how this contest works (ex: due dates, how to post your submission, picking a category, etc.) the DEV team will be happy to assist you.

If you are running into issues or get stuck when it comes to using MongoDB, we will surface all technical questions for the MongoDB team and answer here on their behalf!

Please comment below if you need asynchronous assistance with the MongoDB Atlas Hackathon ❤️

P.S. If you'd like to share an update on the progress you're making on your project or if you'd like to connect with other participants, please do so in the community update thread!

Top comments (125)

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Hi @mongodb_staff and @thepracticaldev , when will the hackathon be over i.e. the last time to complete the hackathon. Is it 13 Jan 2022 11:59 pm PT or 13 Jan 2022 11:59 pm UTC?

In the announcement article, both times can be seen written.
The PT time is mentioned in "Additional rules"
The UTC time is mentioned in "Important dates".

Please clarify as I don't want to miss out on the opportunity and miss submitting my project.

Collapse
 
graciegregory profile image
Gracie Gregory (she/her) • Edited on

So sorry for any confusion. The deadline was 13 Jan, 2022 at 11:59 UTC — however we misrepresented this initially so we will be counting all submissions that we receive through 7:59 AM UTC on January 14

Collapse
 
anika001 profile image
Anika Tibrewala • Edited on

Hi, kindly consider our project, we submitted project following the deadline "Submissions are due on January 13th, 2022 @ 11:59 PM PT/2 AM ET on January 14th, 2022/6 AM UTC on January 14th, 2022" as shared previously. We've put in a lot of effort in our project, requesting you to kindly consider the submission for the hackathon.

Thread Thread
 
valentinesean22 profile image
valentinesean

Same this side, I was relying on the submission template deadline

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her) • Edited on

Hi everyone! So sorry for this confusion and for the errors in the announcement post. There were mistakes with the deadline as it was originally written and I sincerely apologize.

We will consider all entries submitted up until January 13th, 2022 @ 11:59 PM PT/2:59 AM ET on January 14/7:59 AM UTC on January 14, 2022. Not to worry! @valentinesean22, @hinasoftwareengineer, @geekysrm

Thread Thread
 
geekysrm profile image
Soumya Ranjan Mohanty

Thank you so much for clarifying that! :)

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her)

Of course. I hate to think that this mistake on my end caused you all stress. Thank you for participating! We will make sure that this mistake doesn't happen again in future hackathons.

Thread Thread
 
geekysrm profile image
Soumya Ranjan Mohanty

Thanks for organizing the hackathon :)

Thread Thread
 
anika001 profile image
Anika Tibrewala

Thank you so much!

Thread Thread
 
valentinesean22 profile image
valentinesean

You are welcome. And thank you for the provision of such an opportunity, I learnt a lot and I am still learning. I am looking forward for other many events in the future.

Collapse
 
hinasoftwareengineer profile image
Hina-softwareEngineer

Hi Gracie, I have seen this now and submitted my post a little while ago and i am so worried to see that the mentioned date in artilce is wrong as you are saying 12 Jan utc. I was considering the 13 Jan 11:59 pm PT time from the article.

Thread Thread
 
hinasoftwareengineer profile image
Hina-softwareEngineer

Kindly consider the posts till 11:59PM PT as this was due to the confusion of the dates. As we all have spent many hours on buildling the useful applications.

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her)

Don't worry! Your submission will be counted because the error was on our end!

Thread Thread
 
hinasoftwareengineer profile image
Hina-softwareEngineer

Thank you so much Gracie for clarifying and organizaing this hackathon :). Looking forward for more hackathons.

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Please reply to my query.

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty • Edited on

12 Jan? 😟
I haven't yet submitted and the post was (is) saying till 13th Jan.
And I can see people submitting after 12th as well.

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her)

So sorry. I have made a few errors here. Corrected my comment to reflect the correct information. The important thing is that your project will be counted as long as we received it through 7:59 AM UTC on January 14

Thread Thread
 
geekysrm profile image
Soumya Ranjan Mohanty

Thank you so much!

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Hi, I have most of the server side logic for my app inside Realm Functions which I wrote using the UI Editor. How do I show that code in GitHub repo?
Do I create a folder called realm_functions and put all function codes there in separate files?

Collapse
 
julien41 profile image
Julien

Hi, you can use the realm-cli and do realm-cli pull to get your project on your disk 😉

docs.mongodb.com/realm/cli/realm-c...

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Thank you, will try this 🙂

Collapse
 
manisgoyal profile image
Manish Goyal • Edited on

@thepracticaldev Do we have to make a web app as in website or can we make an android app?

Collapse
 
joellord profile image
Joel Lord

Feel free to use whatever technology you’d like! The more creative, the better 🎉.

As long as you provide all the instructions for our judges to be able to test the application on their own, you can use any programming language or platform that you want.

Collapse
 
bytrangle profile image
Trang Le

"test the application on their own": Should I provide instructions to use the app as an end user, or a developer?

Thread Thread
 
fly_away profile image
简·多伊

I believe either should be fine. You can deploy your app to a cloud platform like Heroku or Netlify as a live demo and/or provide instructions in your Git repo README for the judges to run & test. Since open source licensing of the app's code is one of the requirements, I assume the judges are developers themselves who will be reviewing code & installing your app anyway.

Thread Thread
 
fly_away profile image
简·多伊 • Edited on

Yup, @joellord 's profile says 'Developer Advocate' 👍
Who I think is one of the judges

Collapse
 
shankar297 profile image
Shankar Wagh

Hello, I have created mongodb account but which cluster i have to select free or any other?
And second question I don't have credit card, is there any other option?
Otherwise I have to leave this hackthon.😥😥

Collapse
 
joellord profile image
Joel Lord

Hi!
You can create a free cluster by following the instructions here: docs.atlas.mongodb.com/tutorial/de.... The free tier will give you access to most of the features that you need to build your application.

Looking forward to seeing your submission!

Collapse
 
julien41 profile image
Julien

Hi, free cluster does not require a credit card. I use this one personnaly

Collapse
 
fly_away profile image
简·多伊 • Edited on

Can I include and refactor broken/hacky code that I'd written previously? I'd like to try again for this hackathon since I failed the last time. Hopefully this time I can manage to stay focused and build a working app with MongoDB on the backend. This will be my first time learning and working with MongoDB Atlas tools. Please let me know if this is allowed or not. Thanks

Collapse
 
bytrangle profile image
Trang Le

I'm not from MongoDB but I don't see why not since most apps are built by remixing existing apps. Most hackathon winners have been in the trench for donkey's years, so I think the more hackathons you participate in, the higher chance you'll win.

Collapse
 
fly_away profile image
简·多伊

Thanks Trang! It's too late for me to participate 😅
Good luck in the contest! 🙂

Collapse
 
valentinesean22 profile image
valentinesean

If I write code with ENV variables like passwords, how will Mongo judges get those variables so they can run the app?

Collapse
 
joellord profile image
Joel Lord

We will run the application on our own cluster so you don't need to provide us with your credentials.

In order for us to configure our clusters, please provide a sample of the data or the realm application export file (docs.mongodb.com/realm/cli/realm-c...), along with any necessary instructions such as how to configure the ENV variables for us to setup the project.

Collapse
 
valentinesean22 profile image
valentinesean

The app has another third party service which requires authentication details

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

+1 to the question.

Collapse
 
adhirkirtikar profile image
Adhir Kirtikar

I have the same question...

Collapse
 
rifkyniyas profile image
Rifky Niyas | Freelance Web Developer

@thepracticaldev Hi, I need some help regarding categorizing our application. What if there are functionalities that suit one or more of the mentioned categories? Should we mention a specific one or all the suited categories or in the fifth category? The fifth category is for applications that doesn't fit any of the other four categories right?

Collapse
 
valentinesean22 profile image
valentinesean

True I also need clarification on this

Collapse
 
bytrangle profile image
Trang Le

Usually, for the last category, they're looking for a very wacky implementation, the one that would get featured on Codepen and make you say: "Cool. But what do I use it for?"

Collapse
 
ishanpro profile image
Ishan Tiwari

The whacky is for projects that have some use for sure but not a very common one. Like a chat app a e-commerce app. That should have a untraditional use

Collapse
 
shaijut profile image
Shaiju T • Edited on

@thepracticaldev Can we take part as a team, And its ok to show the working application in github, and in local machine without hosting ?

Collapse
 
joellord profile image
Joel Lord

Hi @shaijut,

Yes, you can definitely submit as a team. The more, the merrier, right? The prize will be sent to the person who posted the submissions, and you will need to work it out as a team.

For the application, it doesn’t need to be hosted anywhere, although you might want to look into Realm Hosting since using multiple services might make the judges happy 😜.

Whether you host the application or not, make sure that you provide detailed instructions on how to set up the application so that the judges can give it a try.

Collapse
 
shaijut profile image
Shaiju T

Thanks. 2 question.

  1. In automation innovation can we try to automate thinks like mail support to bot based, my application will be security domain based ?

  2. Does Mongo db has just key value store like redis, is there any specific product to store large number of links as values, to query faster ?

Thread Thread
 
joellord profile image
Joel Lord

To your first question, the answer is yes! Anything that uses an Atlas Serveless instance (docs.atlas.mongodb.com/tutorial/cr...) will fit in this category.

For your second question, MongoDB offers a flexible data schema that can accommodate just about any type of data format. The speed of the query will depend on many different factors. I suggest that you start by exploring the data modeling intro from our docs (docs.mongodb.com/manual/core/data-...), or the talk “From Tables to Documents” (youtube.com/watch?v=j9N1dIVmV48).

Collapse
 
idiglove profile image
Faith Morante

Hi! I can't seem to make HTTPS Endpoints work with Postman, I didnt add any additional authorization, and also tried using API Keys and I always get same error response:

{
    "error": "no authentication methods were specified",
    "error_code": "InvalidParameter"
}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
idiglove profile image
Faith Morante

I got it now! The function setting for Authentication should be set to System

Collapse
 
kmukabe profile image
Kacha • Edited on

Hi @thepracticaldev , I'd love some help from the MongoDB team or anyone who has come across this. I have a realm app with email/password authentication enabled and I have a react native app that does sign up and sign in.
When using the sign in method from the realm library:

const creds = Realm.Credentials.emailPassword(email, password);
const user = await Realm.app.logIn(creds);
Enter fullscreen mode Exit fullscreen mode

when I console log the user I get an empty object { } but when I call user.id I get the id of the user object. I'm not entirely sure what I have done wrong but I think this is causing further errors because I am getting an error when I try to open a realm connection with this user.
Any help would be great.

Collapse
 
joellord profile image
Joel Lord

Hi,

For more technical questions, you might want to try to search or post on our community forums (mongodb.com/community/forums/), you will normally get a quicker answer there. As for your question, you could try creating an object that contains your application, and then use the methods for this application. Right now, I’m not sure if your Realm.app is an initialized property. You could try this out:

const app = new Realm.App({ id: "<APP_ID>" });
const credentials = Realm.Credentials.emailPassword(email, password);
const user = await app.login(credentials);
const userProfile = app.currentUser;
const userId = app.currentUser.id;
Enter fullscreen mode Exit fullscreen mode

I hope this helps!

Collapse
 
kmukabe profile image
Kacha

Hi, I'd like some help understanding something in the realm data schema.
In what scenario would we use the relationships.json under the mongo-atlas schema in data-sources?
Why use this relationships file instead of just using embedding or adding a field with an objectId referencing another collection.

I hope I have asked that semi-coherently.

Collapse
 
joellord profile image
Joel Lord

Hi!

I think I would need more information before I can answer this question. Also, for more technical questions, you might want to try to search or post on our community forums (mongodb.com/community/forums/), you will normally get a quicker answer there.

Regarding the use of relationships or embedding fields, there is no one-size-fits-all solution. The general rule of thumbs is that if data is accessed together, it should be stored together. You can find out more information about data modeling in our docs (docs.mongodb.com/manual/core/data-...), or watch the talk “From Tables to Documents” (youtube.com/watch?v=j9N1dIVmV48).

I hope this helps.

Collapse
 
sumedhamehta profile image
Sumedha Mehta

Hi - I'm from the Realm Team! You're pretty much correct. The relationships defined in Realm let you easily reference fields in another collection to define your relationships instead of having to embed them in your documents. This is especially valuable when using services like Realm's Hosted GraphQL API or Realm Sync because we will automatically resolve the relationship for you without having to do a $lookup or another query.

Collapse
 
carrilhos profile image
Gabriel Oliveira Carrilhos

Olá, tenho uma duvida. Moro no Brasil, as regras permitem que eu participe? Já vi algumas hackathons que não permitiam.

Collapse
 
graciegregory profile image
Gracie Gregory (she/her)

Você certamente ainda pode participar! Lembre-se de que não podemos garantir que alguém da equipe de jurados saiba ler português. A propósito, estou usando o Google Translate, então, peço desculpas por quaisquer erros!

Collapse
 
ritarodrigues profile image
Rita Rodrigues

Olá Gabriel :)

Claro que sim por favor participa :D! New todos os jurados falam português, por isso é melhor apresentar tudo em inglês.

Se ajudar, eu falo Português :D qualquer dúvida pode falar comigo.

Obrigada!

Collapse
 
sheikh_ishaan profile image
Ishaan Sheikh

Hi everyone!

I am thinking of using a MongoDB atlas serverless DB with a Laravel Application. In which of the categories will it fit?

Collapse
 
joellord profile image
Joel Lord

Hi!
Without more information about your submission, it’s hard to tell. I would say that the “Automation Innovation” is probably the best match since it’s using MongoDB Atlas Serverless.

I suggest that you wait until you complete your application. Once you completed it, look at the suggested categories in the above post again and see if it fits well in a specific category. If it doesn’t, you can submit it in the “Choose your own adventure” category.

Looking forward to your submission!

Collapse
 
sheikh_ishaan profile image
Ishaan Sheikh

Thanks Joel!
I am creating a clone of testimonial.to.
I think it will fit in 'Choose Your Own Adventure' category. But I have doubt that my project satisfies this '...the winners we select in this category will be the ones that got super creative and wacky! Feel free to go as random as possible.'

Collapse
 
iabdsam profile image
Abdul Samad

Is there a way to call a realm function from nodejs file using the MongoClient instance. If not, what is the right package realm or realm-web for doing this.

Collapse
 
joellord profile image
Joel Lord

Yes, you can use the realm-web package for this. To call a serverless function called sum with the arguments 2 and 3, you would use the following code:

const functionName = "sum";
const args = [2, 3];
const result = await user.callFunction(functionName, args);
Enter fullscreen mode Exit fullscreen mode

You can find out more about how to use Realm functions in the documentation.

Collapse
 
iabdsam profile image
Abdul Samad

thanks it worked.

Collapse
 
iabdsam profile image
Abdul Samad

What I meant by MongoClient instance is the one which I used to query my Atlas database and collections.

Collapse
 
perplexedyawdie profile image
Javel Rowe

Created an add to calendar link: Add MongoDB Atlas Hackathon to Google Cal

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Hi,
Inside a Realm function, I am using

const allUsers = userCollection.find({});
Enter fullscreen mode Exit fullscreen mode

How do I make use of the allUsers inside the Realm function again? e.g. How do I access,say, allUsers[0]?

Collapse
 
joellord profile image
Joel Lord

The .find() method that you use returns a cursor. You can convert that into an array by using the .toArray() method.

const allUsers = userCollection.find({}).toArray();
const firstUser = allUsers[0];
Enter fullscreen mode Exit fullscreen mode

Find our more in the documentation.

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Got the ans.
Would have to use toArray().

Collapse
 
anika001 profile image
Anika Tibrewala

Hi, we're trying to deploy our application to heroku. Our session is not persisteing, (heroku: backend, Angular: frontend), we're using mongo-connect but it's not persisting, would be really helpful if anyone could help us with this!

Collapse
 
fly_away profile image
简·多伊

Is there a way to change MongoDB's default port 27017 to run on another port? For a shard cluster?

Collapse
 
joellord profile image
Joel Lord

Yes, it is possible, however, the easiest way to use MongoDB is with MongoDB Atlas (account.mongodb.com/account/login), the cloud offering by MongoDB. When using Atlas, you only need your connection string, and don’t need to bother with configuration and ports.

This challenge is specifically about MongoDB Atlas so you should give it a try to see. You will most certainly find that it’s much easier to use than a local version of MongoDB.

Looking forward to your submission!

Collapse
 
fly_away profile image
简·多伊

Thanks Joel, I wanted to participate. My ❤️ said 'yes' but my 🧠 said 'no'. Should have spent time working on my project for this hackathon, but I got distracted with producing 🎵 + 🎨 instead 😒. With < 2 days left, I won't be able to make the deadline, sadly. Plus those pesky bugs always take unexpectedly longer to resolve 😮‍💨 Maybe next time if there is a next time

Collapse
 
taofiqq profile image
Taofiq Aiyelabegan

Hi Everyone,

I am trying to deploy my NextJS and Mongo Db Project on Vercel and each time I deploy its giving 500: Server error'

I included my mongodb url and the devurl(localhost:3000) as the env variable on vercel during build time but still getting error

Collapse
 
geekysrm profile image
Soumya Ranjan Mohanty

Hi.
It would be difficult to help before seeing your repo. Can you share your GitHub repo so we can see the issue?

Also, the devUrl shouldn't be used in prod deployment in Vercel, AFAIK.

Collapse
 
taofiqq profile image
Taofiq Aiyelabegan

Hi Soumya,

here is my github repository of the project: github.com/Taofiqq/fudo

Also, how do I go about the localhost because that is what I am using to make api calls in local.

Thank you

Collapse
 
taofiqq profile image
Taofiq Aiyelabegan

Hi Soumya,

here is my github repository of the project: github.com/Taofiqq/fudo

Collapse
 
anthonyjdella profile image
Anthony Dellavecchia

This is unfortunate, but I just want to say, I've been trying to do a project with Atlas Time Series, and the documentation for it is not the best. As a beginner, it isn't simple to pick up. Furthermore, the docs I've found online, sometimes are inconsistent.

I hope the MongoDB team works to improve the docs in the near future. Thank you!

Collapse
 
amolbr_ profile image
Amol Borkar

Hi, I have 2 questions:

  1. We're free to use external APIs for our projects right?
  2. Does anyone know the exact parameters (like code quality or features) on which our projects will be judged on?
Collapse
 
joellord profile image
Joel Lord

Hi @amolbr_ !

Yes, you can use external APIs for your project.

The exact parameters for judging have not been publicly announced. There will be a technical aspect to the judging, as well as a creativity aspect.

Looking forward to seeing your submission!

Collapse
 
jacksonkasi profile image
Jackson Kasi • Edited on

please me help anyone. nodemailer failed to excite on MongoDB Realm... how to fix?
more info: stackoverflow.com/q/70696512/14395392

Collapse
 
joellord profile image
Joel Lord

You will need to add nodemailer as a dependency. I've provided more details on StackOverflow.

Collapse
 
jacksonkasi profile image
Jackson Kasi

sir now no problem, nodemailer 6.4.10 version is support on mongodb realm

Collapse
 
jacksonkasi profile image
Jackson Kasi

sir, I am already add dependencies "nodemailer" . but still same error

Collapse
 
hawkingradiation profile image
hawking radiation

if my project is a web application so do i need to host it somewhere in order to post it for the hackathon or the source code is enough for it?
do the project need to run on there local machine or container for the project to be considered valid?

Collapse
 
sahilpabale profile image
Sahil Pabale

I have doubt about the Grand Prize!
Will the $1500 given to every top 5 winners or only top 1 winner?
and same with other 4 listed in Grand Prize section!

Collapse
 
star_trooper profile image
Atharva Shirdhankar

1 grand winner from every category( E-commerce, prime time ,Action Star, Automation Innovation and Choose your own adventure) will be selected.
And 10 runner up

Collapse
 
graciegregory profile image
Gracie Gregory (she/her)

Correct! There will be a $1,500 prize for each category :)

Collapse
 
ahmedgameel profile image
د. جميل

Should my backend be hosted in order to join the hackathon ?

Collapse
 
joellord profile image
Joel Lord

As long as the judges can run the application locally, you don't need to host the application. Please make sure that you add the full instructions on how to run the application locally or in a container when you submit!

Collapse
 
godwinagedah profile image
Godwin Agedah

Does realm listeners work on the browser.

Collapse
 
joellord profile image
Joel Lord

Hi!
Yes, in Realm, you can watch a collection for changes (docs.mongodb.com/realm/mongodb/wat...). collection.watch() is an async generator that will be triggered whenever there is a change in the documents you are watching. The full documentation is available at docs.mongodb.com/realm/sdk/node/ex....

Collapse
 
8bitsouvik profile image
Souvik Mandal • Edited on

In the hackathon Rules section as it's been written ...the Entry will be deemed submitted by the authorized account holder of the e-mail account of the individual or team leader specified in the Entry Materials. "Authorized account holder" is defined as the natural person who is assigned to an e-mail address by an Internet access provider..., my question is How judges will recognise my mongoDB authorised account from my dev post and github repository?
I'm asking because I'm using different email which is authorised by mongodb but I haven't provided it in either dev.to or github profile.
Should I provide my mongodb authorised email in the dev post?


Rules section

Collapse
 
graciegregory profile image
Gracie Gregory (she/her)

Hello! This section of the rules refers to the event of a dispute about the author/participant. Unless a dispute is raised, we simply refer to the submission post and do our best to verify an association between the DEV account and the details provided via the GitHub code and through MongoDB.

All of this said, we will reach out to you individually about your submission to verify your email address if necessary. Thank you for flagging!

Collapse
 
nsiem profile image
Tony K

@thepracticaldev can I use mongoose to connect my application to mongodb and still be eligible or does it have to be the mongodb library?

Collapse
 
joellord profile image
Joel Lord

Mongoose is a Node.js-based Object Data Modeling (ODM) library for MongoDB. So here is a challenge for you:
Do you really need this ODM layer or can you use our native MongoDB Node.js driver (mongodb.github.io/node-mongodb-nat...) directly? Most developers find the MongoDB Node.js driver more intuitive to use than Mongoose.

Please read this awesome article that discuss the 2 approaches: thttps://mongodb.com/developer/article/mong...

Collapse
 
reidjs profile image
reid j sherman

Does anyone know where the docs are to access atlas full text search output through a tool like curl or postman?

Collapse
 
ritarodrigues profile image
Rita Rodrigues