10個業餘時間可完成的項目,助你飛速提高編碼能力!

全文共4586字,預計學習時長9分鐘前端

在這裏插入圖片描述
圖片來源:Aphinya Dechalert.面試

在編程行業想要有好的職業發展,必須有足夠的創造才能。那麼,當你的創意枯竭或者不知道該如何培養創意時該怎麼辦?數據庫

本文將給出十個編程提示,並附上要求指南,來給編程開發者提供一些思路和創意。編程

下文的項目將提供商業化的全棧技能,而且均可以在一兩個月內完成。若是把下班後和週末的時間都花在這些項目上,絕對是能夠實現的。後端

每一個項目都有足夠多的細節能夠幫助開發者入門。咱們的目標是採用能夠在一段時間內完成的最佳編程實踐,儘快地建立和完成項目。前端框架

在這裏插入圖片描述

by studiog
在這裏插入圖片描述服務器

1. 創建一個間歇性禁食的應用程序微信

項目介紹網絡

人們愈來愈關注健康和健身的話題,間歇性的禁食成爲流行的作法。此項目須要建立一個能夠在應用商店內獲取的移動應用程序。數據結構

對於JavaScript開發人員來講,這是深刻研究跨平臺移動應用程序開發和使用各類框架(如Ionic、Flutter和React Native)的機會。

商業需求

· 可通知用戶禁食時長的計時器

· 可設置/編輯禁食開始和結束時間

· 可設置禁食提醒鬧鐘

· 跟蹤如下數據:結束禁食時間、7天平均禁食時間、最長的禁食時間、最長的連續禁食時間、當前連續禁食記錄

· 跟蹤圖表顯示:禁食目標、已達到目標、未達到目標

· 可選擇禁食方案:晝夜節律、16:八、18:六、20:四、36小時連續禁食

預期提高/掌握的技能

· 持久本地設備存儲方面的經驗

· 開發移動本地應用程序

· 利用移動設備的特定功能,如鬧鐘和通知

在這裏插入圖片描述
by studiog

在這裏插入圖片描述

2. 製做新聞聚合器

項目介紹

世界上天天都在發生着海量的新聞,人們很難跟蹤全部事件的最新進展。能夠建立一個新聞聚合器應用程序,從多個來源提取聚合內容(RSS),並根據日期將其整合。

此應用程序能夠基於移動設備,也能夠基於網絡,具體取決於開發者想要在哪一個平臺提高技能。

製做一個新聞聚合器的好處是不須要數據庫,而且能夠只使用前端框架或庫(如Angular、React或Vue)將其構建爲單頁應用程序。

商業需求

· 必須包含至少10個不一樣的資訊來源

· 按日期排序選項

· 按來源篩選選項

· 聚合到35個連接後分頁

預期提高/掌握的技能

· 可以將XML數據轉換爲可讀的JSON格式

· 瞭解前端架構

· 得到框架/庫的經驗

· 外部資源使用

在這裏插入圖片描述
by studiog

在這裏插入圖片描述
3. 使用外部應用程序調用接口(API)建立在線商店

項目介紹

Printful有一個可靠的應用程序調用接口,開發人員能夠利用它來建立貼牌商品。使用它能夠建立一個具備購物車和支付功能的、功能齊全的電子商店。

使用Pngtree中的圖片建立商品,並將其上傳到Printful的免費賬戶裏,從而能夠用MVP模式部分處理此應用程序。不須要太多的商品,只要10個就足夠用於測試。也可使用Pngtree的模擬生成器來建立成品圖像。

理論上可使用這個項目進行匿名驗證,而且不須要身份驗證系統。該項目的目的是幫助開發者深刻了解應用程序調用接口的結構、工做機制以及商業層面上的配合方式。Printful提供了一個絕佳的機會。

開發者還須要選擇支付通道提供商(Stripe或Paypal),並瞭解支付的方法。兩種支付通道都有測試版本,不須要現實中的貨幣就能夠進行模擬購買。

商業需求

· 客戶能夠查看商品

· 客戶能夠添加商品到購物車

· 客戶能夠查看運費

· 客戶能夠下訂單

· 客戶能夠查看/跟蹤訂單

預期提高/掌握的技能

· 瞭解商業應用程序調用接口套件的使用

· 瞭解常見的應用程序調用接口模式和結構

· 瞭解數據結構、JSON建立和使用

· 瞭解開發人員視角下的商業購物車流程

· 瞭解支付提供商處理流程

在這裏插入圖片描述
by jemastock

4. 使用本身的數據庫架構建立日誌

項目介紹

從零開始的博客系統是提高CRUD技能以及建立數據庫體系結構能力的絕佳方式。在這個項目中,開發者須要建立本身的應用程序調用接口,以鏈接數據庫和前端來顯示數據。

要關注博客的功能,而不是它的外觀。建議使用諸如Twitter Bootstrap 和CSS Materialize的引導程序來加快開發過程。

至於數據庫,可使用MySQL數據庫,也可使用MongoDB之類的無表格數據庫。因爲歷史緣由,大多數僱主仍在使用MySQL,而初創企業則更傾向於使用無表格架構。但不管選擇什麼,它們都能有效地豐富你的簡歷。

該項目的重點是數據庫、鏈接到數據庫的接口以及數據的呈現。應用程序調用接口將帶你瞭解Node.js這一領域,或者任何你選擇的後端技術。

雖然一個博客聽起來很簡單,但它是個能夠遷移到實際環境中的合適的全棧項目。

商業要求

· 用戶必須在發佈前登陸

· 用戶能夠建立、更新和刪除日誌

· 用戶能夠將類別和標記附加到日誌上

· 任何人均可以查看日誌

預期提高/掌握的技能

· 掌握數據庫體系

· 使用後端技術建立應用程序調用接口

· 提高對所選前端框架或庫的掌握程度

在這裏插入圖片描述
by studiog

在這裏插入圖片描述

5.使用產品的外部應用程序調用接口建立心願單應用程序

項目介紹

這個項目既須要建立本身的數據庫來跟蹤心願,也須要使用外部應用程序調用接口。許多傳統零售商,如梅西百貨和沃爾瑪,都有能夠用於這個練習的產品接口。

這個項目的優勢是,開發者還須要建立本身的身份驗證系統,或者利用開放的系統(如社交帳號登陸),以便爲每一個用戶建立個性化的列表。開發者的選擇取決於時間和但願學習的技能。使用社交帳號登陸可能比建立本身的身份驗證系統更容易,由於開發者只需再次使用第三方應用程序調用接口。

商業要求

· 用戶能夠建立列表

· 用戶能夠從列表中添加/刪除項目

· 用戶能夠將列表中的項目標記爲已獲取

預期提高/掌握技能

· 使用外部商業應用程序調用接口

· 數據庫CRUD操做

· 提高對所選前端框架或庫的掌握程度

在這裏插入圖片描述
by studiog
在這裏插入圖片描述

6. 製做一個廣告欄

項目介紹

Craigslist網站和其餘招聘網站本質上都是電子廣告欄。開發者須要具有製做付費廣告位的能力,以此得到報酬。

看起來這彷佛是個比較簡單的功能,只需列出職位、建立表格,並添加支付方式就能完成。

商業要求

· 用戶必須可以註冊帳戶和發佈廣告

· 用戶支付後才能展現廣告

· 用戶能夠保存廣告草稿

· 用戶能夠修改草稿和展現中的廣告

· 廣告過時後再也不顯示

· 廣告對任何人可見

預期提高/掌握的技能

· 建立、讀取、更新和刪除等數據庫操做

· 將API鏈接到數據庫

· 支付通道流程和實現

· 提高對選定先後端框架或庫的掌握

在這裏插入圖片描述
by gstudioimagen

在這裏插入圖片描述

7. 搭建一個具備人工智能特性的預訂App

項目介紹

機器學習是今年最火爆的話題之一,人工智能也是這一潮流的一部分。Google、AWS和Microsoft Azure都爲開發者提供人工智能雲服務。開發者能夠從最流行或者本身最感興趣的項目開始。

預訂應用程序就像個遊戲。你是個有特殊偏好的顧客,爲何不用這些偏好來影響這個遊戲,經過人工智能增長銷售量呢?

挑選一個須要預訂服務的行業,好比賓館、租車行或者餐廳,並建立一個容許用戶執行預訂操做的應用程序。而後讓人工智能基於用戶偏好給出建議。和朋友分享這一程序,測試它推銷產品的能力。開發者還須要一個數據庫來跟蹤全部的訂單。

使用社交媒體帳號登陸能夠減小項目所需開發時間,但這並不是必須。也可使用Firebase的身份驗證系統來達到一樣的效果。若是開發者熱衷於創建本身的身份驗證系統,而且但願探索相關概念,這個領域有不少值得研究的內容。

能夠把這個項目作成網站或者移動應用。它是個簡單有趣的小練習,簡單到足以入門,但也複雜到足以吸引潛在的面試官。

商業要求

· 用戶必須登錄以訪問預訂列表

· 用戶可以執行預訂操做

· 系統可以檢測用戶偏好和基於歷史數據提出建議

預期提高/掌握的技能

· 實現雲端人工智能服務

· 理解身份驗證系統以及它與前端的關係

· 可以跟蹤數據的數據庫架構

· 提高對選定先後端框架或庫的掌握

在這裏插入圖片描述
by gstudioimagen

在這裏插入圖片描述

8. 搭建無服務器社區論壇

項目介紹

將來的人工智能是無服務器架構的。這一項目與雲架構相適應,使得開發者有機會探索知足項目需求的潛在架構方案。

本項目須要CRUD操做、身份驗證系統以及數據庫知識。但開發者的任務並不是用傳統的MEAN棧、MERN棧在機器上搭建Node應用,而是採起分佈式解決方案而且使用無服務器架構。這意味着一種稍有不一樣的在本地構建代碼的方式。這個練習可以很好地鍛鍊開發者應對各類困難的能力,同時幫助開發者培養新的思惟習慣。

從編程角度來看,無服務器對於新手來講可能有些怪異,但它有本身的優勢。名爲serverless的框架能夠幫助開發者的學習,而且它支持全部主流的服務供應商。這篇文檔很是出色,這一社羣也正在蓬勃發展。

商業要求

· 用戶登陸後才能建立/編輯/刪除評論或帖子

· 用戶能夠發帖

· 用戶能夠評論

· 用戶能夠回覆帖子中的評論

· 帖子和評論對任何人可見

預期提高/掌握的技能

· 理解無服務器架構的基礎知識

· 理解無服務器條件下的CRUD操做和數據庫鏈接

· 理解身份驗證系統的工做機制

· 提高數據庫搭建技能

· 接觸雲服務

在這裏插入圖片描述
by jemastock

在這裏插入圖片描述

9. 搭建一個基於雲服務的聊天室

項目介紹

基於雷達應用的即時通信工具極大地影響了人們的平常生活,以致於人們甚至再也不注意它們。這個項目所需的主要技能是在無需刷新頁面的條件下動態更新消息。

若是開發者不熟悉這一領域,或者不知道應該使用哪一種服務,這一點可能有些困難。AWS有個叫作AppSync的應用,Google有Firebase,而Azure也有SignalR。這些只是建議,還有其餘可用於不一樣服務的架構。

這一項目將讓開發者瞭解他們選擇的雲服務商的產品。雲端編程本質上也是其中之一。學會使用這些產品可以拓展開發者的能力範圍。

商業要求

· 用戶可使用暱稱匿名聊天

· 用戶能夠登陸聊天

· 已登陸用戶能夠建立聊天室

· 已登陸用戶能夠將聊天室設置爲公開或私密

· 匿名用戶只能訪問公開聊天室

· 用戶能夠在聊天室中發送消息

· 用戶能夠刪除本身建立的聊天室

· 用戶能夠邀請其餘用戶加入私密聊天室

· 只有加入私密聊天室的用戶才能在其中瀏覽和發送消息

預期提高/掌握的技能

· 瞭解指定的雲服務

· 學會一系列特定服務的使用方式以及不一樣服務配合的方式

· 身份驗證系統

· 數據庫鏈接和更新

在這裏插入圖片描述
by djvstock

在這裏插入圖片描述

10. 擴展聊天室以包含付費訂閱選項

項目介紹

前文列出的全部項目可能涵蓋了製做商業項目所需技能的90%,可是付費訂閱功能卻沒有被說起。

訂閱功能須要開發者瞭解選定的支付服務供應商的應用程序接口以及支付流程。這就是在此說起這個項目來補充已有項目的緣由。理論上,訂閱功能能夠用於以上任何一個項目,由於訂閱功能的要求通常都是一致的。

Stripe和Paypal都把支付功能和其餘沙盒環境一塊兒做爲自身應用程序接口的一部分。

商業要求

· 用戶可以登陸訂閱以得到內容訪問權限

· 用戶能夠取消訂閱

· 用戶能夠把訂閱做爲禮物贈送給其餘用戶

預期提高/掌握的技能

· 瞭解選定的支付功能供應商的訂閱功能

· 實現支付沙盒

在這裏插入圖片描述

結語

每一個項目都須要獨特的技能和知識,但也涉及一些重複的部分。

開發者的代碼量越豐富,就越能跳出選擇的特定編程語言或者技術棧,識別出重複應用的模式。上面的項目會爲開發者執行CRUD操做和搭建身份驗證系統打下堅實的基礎。現在,它們是在幾乎任何商業項目中都相當重要。

記住,這些項目的目的是豐富技能和編程知識。關注重要的特性而不是細枝末節,除非那正是你想要提高的技能。開發者能夠儘量地本身實現這些功能,或者在頭腦中搭建可擴展和可增加的結構。具體的編程和實現方式將基於開發者目前的編程水平。

在這裏插入圖片描述
留言 點贊 關注
咱們一塊兒分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 「讀芯術」
在這裏插入圖片描述 添加小編微信:dxsxbb 便可進微信交流羣

相關文章
相關標籤/搜索