Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lissone/nlw-heat-impulse
Website and messaging app to share with the community your expectations for the DoWhile 2021 event.
https://github.com/lissone/nlw-heat-impulse
autentication expo monorepo nextjs nodejs react react-native rocketseat socket-io sqlite typescript
Last synced: 21 days ago
JSON representation
Website and messaging app to share with the community your expectations for the DoWhile 2021 event.
- Host: GitHub
- URL: https://github.com/lissone/nlw-heat-impulse
- Owner: Lissone
- Created: 2021-10-23T01:16:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-04T19:54:50.000Z (about 3 years ago)
- Last Synced: 2024-11-15T05:25:29.684Z (3 months ago)
- Topics: autentication, expo, monorepo, nextjs, nodejs, react, react-native, rocketseat, socket-io, sqlite, typescript
- Language: TypeScript
- Homepage:
- Size: 1.55 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Description |
Requirements |
Technologies |
Layout |
Usage |
Demonstration
## Description
Website and messaging app to share with the community your expectations for the DoWhile 2021 event, organized by Rocketseat.
Developed at NLW Heat on the 2021 impulse trail, developed by Dani Leão on October 17th to 24th, 2021.
## Requirements
- [Nodejs](https://nodejs.org/en/)
- [Npm](https://www.npmjs.com/)
- [Expo](https://expo.dev/)
- [Yarn](https://yarnpkg.com/)## Technologies
### Backend (Api)
- Nodejs
- Typescript
- Express
- Prisma
- Socket.io
- Sqlite### Web
- React
- Vite
- Typescript
- Sass
- Socket.io
- ESLint (Airbnb config)### Mobile
- React Native
- Expo
- Typescript
- StyleSheet
- AsyncStorage
- Socket.io
- Expo Auth Session
- Moti## Layout
You can view the project layout via this link.
## Usage
You can clone it on your pc using the command:
```bash
git clone https://github.com/Lissone/nlw-heat-impulse.git
cd nlw-heat-impulse
```Install dependencies using:
```bash
yarn
#or
npm install# .\packages\mobile
yarn
#or
npm install
#or
expo install
```First of all, you must create an OAuth application for each front-end project in github for authentication. Follow the github documentation and add this data in the fields:
```bash
# WEB APPLICATION
Application name = NLW Heat Impulse (Web)
Homepage URL = http://localhost:5000
Authorization callback URL = http://localhost:3000# MOBILE APPLICATION
Application name = NLW Heat Impulse (App)
Homepage URL = https://auth.expo.io/(your_expo_id)/nlwheatmobile
Authorization callback URL = https://auth.expo.io/(your_expo_id)/nlwheatmobile
```Now you can get the GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET of both applications.
Need to add environment variables to projects:
```bash
# .\packages\api\.env# DEFAULT
PORT=5000# GITHUB OAUTH
# You can only choose one project to authenticate with github
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=# JWT
JWT_SECRET= #Anything
``````bash
# .\packages\web\.env.local# DEFAULT
VITE_BASE_URL_API=http://localhost:5000# GITHUB OAUTH
VITE_GITHUB_CLIENT_ID=
``````bash
# .\packages\mobile\.env# DEFAULT
BASE_URL_API=http://(your_machine_ip_address):5000# GITHUB OAUTH
GITHUB_CLIENT_ID=
```Run api:
```bash
# To create a migration with prisma:cd .\packages\api\
yarn prisma migrate dev
``````bash
yarn dev
#or
npm run dev
``````bash
# To open prisma studio to manage and view your database:yarn prisma studio
```Run web:
```bash
cd .\packages\web\
yarn dev
#or
npm run dev
```Run mobile:
```bash
cd .\packages\mobile\
yarn start
#or
npm run start
#or
expo start
```## Demonstration
## License
Distributed under the MIT License. See `LICENSE` for more information.
Made with ❤️ by Lissone