Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Prometheus | 49,991 | 850 | 15 hours ago | 739 | July 28, 2023 | 904 | apache-2.0 | Go | ||
The Prometheus monitoring system and time series database. | ||||||||||
Generator Jhipster | 20,852 | 4,666 | 203 | 16 hours ago | 269 | July 12, 2023 | 245 | apache-2.0 | TypeScript | |
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures. | ||||||||||
Outline | 20,537 | 15 hours ago | 74 | other | TypeScript | |||||
The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible. | ||||||||||
Tooljet | 20,532 | 2 | 20 hours ago | 14 | June 06, 2023 | 506 | agpl-3.0 | JavaScript | ||
Low-code platform for building business applications. Connect to databases, cloud storages, GraphQL, API endpoints, Airtable, Google sheets, OpenAI, etc and build apps using drag and drop application builder. Built using JavaScript/TypeScript. 🚀 | ||||||||||
Memos | 19,157 | a day ago | 45 | July 26, 2023 | 186 | mit | Go | |||
A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts | ||||||||||
Plane | 16,300 | 17 hours ago | 217 | agpl-3.0 | TypeScript | |||||
🔥 🔥 🔥 Open Source JIRA, Linear and Height Alternative. Plane helps you track your issues, epics, and product roadmaps in the simplest way possible. | ||||||||||
Cleanarchitecture | 13,240 | 2 days ago | 63 | August 03, 2023 | 7 | mit | C# | |||
Clean Architecture Solution Template for ASP.NET Core | ||||||||||
Coolify | 8,933 | 17 hours ago | 28 | apache-2.0 | PHP | |||||
An open-source & self-hostable Heroku / Netlify alternative. Cloud version available here -> https://app.coolify.io | ||||||||||
Homepage | 8,496 | a day ago | 1 | gpl-3.0 | JavaScript | |||||
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. | ||||||||||
Reference | 7,654 | 3 days ago | 107 | mit | Dockerfile | |||||
为开发人员分享快速参考备忘清单(速查表) |
Opinionated project architecture for Full-Stack JavaScript Applications.
Using JavaScript for full-stack has always been a challenge especially with architecting various pieces of the application, choosing technologies and managing devOps. This project provides a base for typical project consisting a Landing Website, Web and Mobile Applications, API service and easy deployment of these services. This project uses a microservice architecture where all individual project runs as a service (container).
A typical product (SaaS, etc.) usually consists of following services:
fsja
├── backend
│ ├── api
│ │ > NodeJS
│ │ > PORT 8000
│ │ > api.example.com
│ │
│ ├── database
│ │ > MongoDB
│ │ > PORT 27017
│ │
│ └── proxy
│ > NGINX
│ > PORT 80 / 443
│
├── deployment
│ > Docker Compose
│
├── frontend
│ ├── app
│ │ ├── mobile
│ │ │ > React Native
│ │ │ > iOS (Apple App Store)
│ │ │ > Android (Google Play Store)
│ │ │
│ │ └── web
│ │ > React
│ │ > Single page application
│ │ > PORT 5000
│ │ > app.example.com
│ │
│ └── landing
│ > React
│ > Server side rendered
│ > PORT 3000
│ > example.com
│
└── README.md (you are here)
Landing
Web
Mobile (iOS, Android)
Prerequisites
v10.x
)v4.x
)Clone repository git clone [email protected]:atulmy/fullstack-javascript-architecture.git fullstack
API
api
directory cd backend/api
cp .env.dev.example .env.local
.env.local
for
PORT
(8000
)NODE_ENV
(development
| production
)SECURITY_SECRET
(Use PasswordsGenerators)SECURITY_SALT_ROUNDS
(10
)MONGO_URL
(mongodb://localhost:27017/example
)LANDING_URL
(http://localhost:3000
)WEB_URL
(http://localhost:5000
)API_URL
(http://localhost:8000
)EMAIL_ON
(0
| 1
(in development, you can toggle to send emails or not))EMAIL_TEST
(send test emails to this address)EMAIL_HOST
, EMAIL_USER
, EMAIL_PASSWORD
(use any email service, eg. mailgun.com and get credentials to start sending emailsnpm run setup
npm start
(http://localhost:8000)Landing
landing
directory cd frontend/landing
cp .env.dev.example .env.local
.env.local
for
PORT
(3000
)NODE_ENV
(development
| production
)URL_LANDING
(http://localhost:3000
)URL_WEB
(http://localhost:5000
)URL_API
(http://localhost:8000
)GA_TRACKING_ID
(Google analytics tracking ID)npm install
npm start
, browse at http://localhost:3000
Web
web
directory cd frontend/app/web
cp .env.dev.example .env.local
.env.local
for
PORT
(5000
)REACT_APP_LANDING_URL
(http://localhost:3000
)REACT_APP_WEB_URL
(http://localhost:5000
)REACT_APP_API_URL
(http://localhost:8000
)npm install
npm start
, browse at http://localhost:5000
Deployment
mkdir /var/www/fullstack
and switch to the directory cd /var/www/fullstack
git clone [email protected]:atulmy/fullstack-javascript-architecture.git .
deployment
directory cd deployment
docker-compose up --build -d
up
= Builds, (re)creates, starts, and attaches to containers for a service.--build
= Build images before starting containers-d
= Detached mode: Run containers in the background, print new container namescd /var/www/fullstack
git pull
docker-compose up --build -d
Mobile
mobile
directory cd frontend/app/mobile
src/setup/config/env.js
for
APP_ENV
(development
| production
)LANDING_URL
(http://<your local network IP>:3000
)WEB_URL
(http://<your local network IP>:5000
)API_URL
(http://<your local network IP>:8000
)ifconfig
on macOS or Linux to get your local IP addressnpm install
react-native run-ios --simulator='iPhone 8'
react-native run-android
(connect your Android phone via USB or use already created simulator with name Mobile_-_5
by running cd ~/Library/Android/sdk/tools && ./emulator -avd Mobile_-_5
)cd android && ./gradlew assembleRelease && cd ..
.frontend/app/mobile/android/app/build/outputs/apk/release/app-release.apk
to Play Store.frontend/app/mobile/ios/example.xcodeproj
in Xcode -> Choose Generic iOS Device (top left) -> Product (top menu) -> Archive.View all screenshots here.
Landing | |
![]() |
![]() |
Web | |
![]() |
![]() |
Mobile | |
![]() |
![]() |
Looking for a developer to build your next idea or need a developer to work remotely? Get in touch: [email protected]
If you liked this project, you can donate to support it ❤️
Thank you for donating:
Copyright (c) 2018 Atul Yadav http://github.com/atulmy
The MIT License (http://www.opensource.org/licenses/mit-license.php)