mlh / mlh-hackathon-nodejs-starter Goto Github PK
View Code? Open in Web Editor NEWHackathon starter project for Node.js applications
License: MIT License
Hackathon starter project for Node.js applications
License: MIT License
https://hackathon-starter-nodejs.herokuapp.com/
Error Message:
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command
heroku logs --tail
We probably want to support additional authentication methods with the starter kit. Support for Google/Twitter will allow app people to be able to use their other social media accounts to use the app. Hackers will probably find this more useful if they are building apps using those services.
It might be worth adding Passport to manage these different authentication methods.
Creating a pull request as we speak.
Hello! I ran into some errors when following along the tutorial and these were what I did to fix them:
I'm not sure if it was just me missing something but it feels like the guide might benefit from an additional step about database setup.
Would appreciate any thoughts on this. Thanks!
Similar to support for GitHub, Twitter, or Google authentication, we would also like to support MyMLH authentication. This is a login system used at MLH events, we use it for things like checking out hardware, registering for events, online challenges, our deprecated mentor system, and we have plans to add it into more properties. A lot of hackathon attendees will likely already have a MyMLH account.
We built MyMLH back in 2015 so its due for an update soon. However, we have decent documentation and I'm happy to support anything we need to get this to work. I would personally be thrilled if this was supported.
Some helpful references, we have an OmniAuth strategy available and an example Flask app.
When licensed as MIT
hyperlink in the License section is clicked, we get a Page Not Found
error.
Old Link : https://github.com/MLH/mlh-hackathon-nodejs-starter/blob/master/LICENSE.md
Correct Link : https://github.com/MLH/mlh-hackathon-nodejs-starter/blob/master/LICENSE
A good solution to quickly deploy an environment for development or hackathon is to use Docker containers.
Why not use the docker compose tools to deploy multi containers with the Nodejs app and a Postgres database here?
Moreover, we can add a Makefile to help Docker newbie to run the environment, we can be inspired by this: https://gazr.io
This starter kit supports a typical SQL-type database using PostgresSQL and Sequelize. We did this because relational databases can be more reliable and can have less gotchas (I know this is a matter of opinion). However, it might be prudent to support a NoSQL-type database like MongoDB because it can be quicker to build a hackathon project with. A hackathon project can benefit from flexible data schemas using MongoDB. MongoDB also has a bunch of documentation to help beginners through using it.
To integrate MongoDB into this project, it might be smart to use a library like mongoose to help with object querying.
I wouldn't like to simply replace our PostgresSQL/Sequelize code with MongoDB/mongoose code. Ideally, people can choose from one or the other. If this requires setting up a separate repo, that is possible or we can create a script for creating a example project similar to create-react-app
or create-next-app
.
Additionally, it would be great to add documentation around what is MongoDB, how to use it, and how to get it running locally and how to deploy.
The link for
...created by Major League Hacking.
in README.md is redirecting to a broken link of jekyll project.
Possibly should be redirecting to https://github.com/MLH similar to the one in https://github.com/MLH/mlh-hackathon-flask-starter/blob/master/README.md
Similar to the GitHub API example, we should add more API examples to act as reference to people to learn and build projects faster. Some frequently used APIs are Google Cloud, Google Maps, Twitter, Instagram, Twilio/Sendgrid.
This should include documentation on how to setup those examples for their project.
Some hackathon projects will want to be able to use their own login system. Our example app should support users signing up and logging on using typical email/password credentials. This was not included originally with the starter kit because (IMHO) it adds unneeded complexity to applications to support custom logins. However, our starter kit should probably be more flexible.
Handlebars link (in readme) points to Jinja
A lot of attendees are interested in learning to use Javascript frontend frameworks like React. This was not included in the first version of the starter kit because keeping a client-side app in-sync with a server is a bit complicated and we want to make this project friendly to beginners. However, I think we could come up with a way to support a client-side framework like React, be simple/clear for beginners, and save a lot of headaches for people trying to add it on their own.
Here are a few considerations for supporting React on this project.
A good model to follow might be how Next.js handles server-rendered apps with Express. If this became Next.js + Express app, I would be very happy.
Sidenote: A lot of people like to bundle React together with a state management tool like Redux or a query language like GraphQL. These technologies likely don't solve the needs for 90% of hackathon projects and introduce additional complexity and barriers of entry for beginners. Supporting these technologies should be a separate discussion from supporting React.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.