プロジェクトアドレス
デモページ
この記事は翻訳+簡単な紹介です、不適切な点があればご指摘ください
ハッカソンはoauth認証を使用するプロジェクトで、現在ほとんどの海外の主流Webサイトをサポートしています
モダンテーマ
Flatly Bootstrap テーマ
API の例
目次
- 機能
- すぐに使える
- 始めましょう
- API を入手
- ファイル構造
- 使用したパッケージ
- 便利なツールとリソース
- デザインリソースの推奨事項
- nodejsライブラリの推奨事項
- クライアントライブラリの推奨事項
- ヒント
- FAQ
- 仕組み
- Mongooseの使用メモ
- デプロイ方法
- 更新ログ
- 一緒に進捗状況
- ライセンス
機能
-
ローカル認証 電子メールとパスワードを使用
-
OAuth 1.0a 認証 認証twitter
-
OAuth 2.0 認証認証 Facebook、Google、GitHub、LinkedIn、Instagram
- フラッシュ通知
- MVC アーキテクチャ
- Nodejs クラスターのサポート
- Sass スタイル
- Bootstrap 3 + 追加テーマ
-
アカウント管理
- サポート Gravatar
- プロフィール詳細
- パスワード変更
- パスワード取得
- パスワードをリセット
- 複雑な OAuth ポリシーをアカウントにリンクする
- アカウントを削除する
- CSRF保護
-
チェスト Facebook、Foursquare、Last.fm、Tumblr、Twitter、Stripe、LinkedInなど
すぐに使用可能
MongoDBのインストールが必要です - 必須s Node.js はインストールされています
- インストール方法
-
Mac OS X:- Xcode (またはOS Linux Mint: sudo apt-get install build-essential
- Fedora: sudo dnf groupinstall "開発ツール"
- OpenSUSE: sudo zypper install --type pattern devel_basis
-
注: Node または Express の初心者の場合は、まず Node.js と Express 101 を読むことをお勧めします。さらに、ここに優れたチュートリアルがあります。基本的な知識のない初心者向け: Node.js、Express、MongoDB の入門
- スタート
最も簡単な方法は、github からクローンを作成することです
# Get the latest snapshotgit clone --depth=1 https://github.com/sahat/hackathon-starter.git myproject# Change directorycd myproject# Install NPM dependenciesnpm installnode app.js
ログイン後にコピー
注:
Nodemon をインストールすることをお勧めします。コードを変更すると自動的にサービスが再起動されるので非常に便利です。インストール後、サービスを開始するには、node app.js を使用せず、nodemon app.js を使用してください。この人はサーバーを自動的に起動するので、小さな変更のためにサーバーを手動で再起動する必要がなく、時間を大幅に節約できます。次のようにインストールします: sudo npm install -g nodemon
ログイン後にコピー
Get API
APIS または OAuth 認証方法を使用するには、クライアント ID、クライアント シークレット、API キー、またはユーザー名とパスワードを準備する必要があります。これらを入手するには第三者に申請する必要があります。
ハッカソン スターター 2.0:
これらすべてを Chestnut で実行しました。面倒だと思う場合は、私のものを使用してください。ただし、Web サイトやアプリを公開するときは、それを自分のライセンスに置き換えることを忘れないでください。
google への申請方法
Google Cloud Console にアクセス
プロジェクトの作成 をクリック (中国語の習慣を設定してプロジェクトを作成できます)
プロジェクト名を入力し、
作成をクリック
クリックAPI と認証 (API 管理) を適用して検索し、クリックして管理ページに入ります -
管理ページの左側にある認証情報 (認証情報) を見つけます - 新しいクライアント ID を作成する
ボタンをクリックします (OAuth クライアント ID を認証情報) - クリック 同意画面の構成
(構成同意画面)-
自分の情報を入力して保存します-
次の情報を次のように入力します- アプリケーション タイプ
(アプリケーション タイプ): Web アプリケーション (Webアプリケーション) - 認可された JavaScript オリジン
(認可された JavaScript ソース): http://localhost:3000-
- 認可されたリダイレクト URI
(認可されたリダイレクト URI): http://localhost:3000/auth/google/callback-
IDとパスワードをよく保存してください Key -
注意: - 正式なアプリケーションを開発する場合は、ローカルアドレスのアプリケーションを使用せず、新規アプリケーションを申請してください
翻訳者: I will open a主要なウェブサイトの申請プロセスを紹介する特別記事 Google
を一時的に紹介します。...
controllers/api.js
/api ルーティング管理 (すべての API 栗を含む) | controllers | /contact.js
コントロール接続フォーム | controllers | /home。 js
コントロールホームページ | controllers | / user.js
ユーザーアカウント管理 | models | /User.js
Mongooseベースのユーザーデータベース操作モジュール | パブリック | /
いくつかの静的ファイル (フォント、画像、CSS、JS など) | public | /
js/application.js クライアント js の依存関係を指定 | |
public/js/main.js | ここにクライアント コードを配置します |
public/css/main.scss | 你的应用自書的样式 |
public/css/主題/default.scss 用了ブートストラップ让它看起来更漂亮 | |
views/account/ ログイン、パスワードリセット、サイドバーテンプレート | views/api | /
Api栗テンプレート | ビュー/部分 | /フラッシュ.jade
エラー、プロンプト、成功リマインダーメッセージ | views/partials | /header.jade
ナビゲーションバーテンプレート | views/partials | /footer.jade
フッターテンプレート | views/layout.jade |
基本テンプレート | views/home.jade |
ホームページテンプレート .travis.yml | Travis CI ポイント |
.env.example アプリケーション API キー、トークン、パスワード、データベース リンク | | app.js
メイン ファイル | package.json | NPM の依存関係
注: あなたは私がすることをする必要はありません、私は栗を提供するだけです、あなたはあなたの都合の良いことを何でもしてください。 使用するパッケージ パッケージ名 | 説明 | async | 非同期プログラミングを支援するモジュール | bcrypt-nodejs | hと塩 パスワード | bitgo | ビットコインウォレットAPI | cheerio | jQuery構文を使用したクローラモジュール | 時計じかけ | スケジュールされたSMSモジュール | connect-mongo | express link mongodb | dotenv | .env ファイルからロード環境。変数 | express | 有名なnodejs Webフレームワーク | body-parser | express4ミドルウェア | express-session | express4ミドルウェア | morgan | express4 ミドルウェア | 圧縮 | express4ミドルウェア | errorhandler | express4ミドルウェア | serve-favicon | express4ミドルウェア | express-flash | Express情報サポートのためのフラッシュを提供する | fbgraph | FBグラフAPI | github-api | githubAPI | jade | expressのテンプレートエンジン | lastfm | Last.fm API | instagram-node | インスタグラムAPI | ロブ | ロブAPI | lusca | CSRF ミドルウェア | mongoose | MongoDB ODM | node-foursquare | Foursquare API | node-linkedin | LinkedIn API | node-sass-middleware | sass ミドルウェア | nodemailer | node email コンポーネント | passport | シンプルでエレガントなログイン認証 | passport-facebook | FB プラグインへのログイン | passport-github | にログインgithub plug-in | passport-google-oauth | Googleプラグインにログイン | passport-twitter | twitterにログインするためのプラグイン | passport-instagram | インスタグラムにログインplugin | passport-local | ローカルログイン検証 | passport-linkedin-oauth2 | linkedinプラグインにログイン | passport-oauth | oauthを許可ログイン認証 | paypal-rest-sdk | PayPal API | request | シンプルなHTTPリクエストモジュール | ストライプ | ストライプAPI | tumblr.js | Tumblr API | twilio | Twilio API | twit | Twitter API | lodash | 便利なjsライブラリ | validator | controllers/ api.js内に検証制御を行います | mocha テストフレームワーク | | chai BDD/ TDD | | スーパーテスト HTTP | | yui yahoo API | | 有用的工具和资源 - JavaScripting - JS的数据库
- JS Recipes - 对于js前后端的教程
- Jade Syntax Documentation by Example - 比Jade官方更好的文档
- HTML to Jade converter - 让你更快的从网页上复制和粘贴html
- JavascriptOO - 一个JS库的目录
- Favicon Generator - 适用于PC, Android, iOS, Windows 8的图标生成器
设计资源推荐 - Code Guide - 灵活、耐用、可持续的HTML和CSS标准
- Bootsnipp - 一些适用于bootstrap的代码片段
- UIBox - 编排HTML, CSS, JS, UI组件
- Bootstrap Zero - 免费的bootstrap模板
- Google Bootstrap - google样式的bootstrap
- Font Awesome Icons - 早已是 Hackathon Starter的一部分
- Colors - 一个很棒的在线调色板
- Creative Button Styles - 丰富多彩的按钮样式
- Creative Link Effects - 漂亮的链接样式
- Medium Scroll Effect - 当你滚动鼠标时,标题淡入淡出
- GeoPattern - SVG背景样式生成器
- Trianglify - SVG低多边形背景样式生成器
nodejs库推荐 - Nodemon - 代码改动服务自动重启
- geoip-lite - IP查询地理坐标
- Filesize.js - 文件格式转换,比如filesize(265318); // "265.32 kB"
- Numeral.js - 格式化数据
- Node Inspector - 基于chrome开发者工具的调试工具
- node-taglib - 读取流行的音频格式
- sharp - 调整 JPEG, PNG, WebP , TIFF等图片格式
客户端库推荐 - Framework7 - 创建IOS7 App的优美而且完成的库
- InstantClick - 通过在鼠标悬停时预先加载页面来提高页面访问速度
- NProgress.js - 类似YouTube和Medium上的进度条
- Hover - 特别棒的鼠标悬停CSS3样式动画
- Magnific Popup - 基于jQuery的响应式灯箱插件
- jQuery Raty - 评分插件
- Headroom.js - 如果不需要头文件,自动隐藏
- X-editable - 在内联元素里直接修改
- Offline.js - 检测用户网络状态是否离线
- Alertify.js - 优化alert和浏览器对话框样式
- selectize.js - 优化select元素和input标签样式
- drop.js - 适用于下拉框和其他浮动元素的强大的js和css库
- scrollReveal.js - 揭示动画
技巧 FAQ 当我提交表单时,出现403错误 你需要添加一个隐藏的input元素在你的表单里input(type='hidden', name='_csrf', value=_csrf)可以参考pull request #40 注意: 现在可能的原因也有URL白名单了,换句话说,你可以指定一个特别的路由来通过CSRF验证 注意 2: 对于动态URL白名单,如果你的代码含有req.originalUrl你需要定期测试 MongoDB连接错误,我如何修复 这个普遍的错误信息来自于app.js中 mongoose.connection.on('error', function() { console.error('MongoDB Connection Error. Please make sure MongoDB is running.');}); ログイン後にコピー 在运行app.js之前,你的MongoDB服务必须启动可以在这里下载MongoDB,如果你是windows用户,那么移步这里. 小贴士:如果你总是需要连接互联网,你可以用 mLab 或者 Compose来代替本地安装数据库,这样你只需要在.env文件里更新数据库就行了。 当我部署应用时,提示错误 可能你没有更改本地数据库链接。如果你在使用的是用本地链接,那么你只能在本地使用数据库;当你部署在Heroku,OpenShift或者其他的平台上时,你的数据库无法运行在localhost的链接下。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
|