An open API service indexing awesome lists of open source software.

https://github.com/mtwn105/slice

Split Your Expenses with Friends using Node.js
https://github.com/mtwn105/slice

angular angular10 bulma cors css expenses hacktoberfest html javascript jwt mongodb mongoose nodejs npm scss slice split typescript

Last synced: 3 months ago
JSON representation

Split Your Expenses with Friends using Node.js

Awesome Lists containing this project

README

          

# Slice - Split Bills

## Made with ❤ using Node.js, Angular & MongoDB (MEAN)

### [Frontend](https://slice-app.netlify.app/) | [Backend](https://slice-backend.fly.dev)

#### Features:

- [x] Login/Signup with JWT token implementation
- [x] Manage Friends
- [x] Add an Expense and split among friends
- [ ] Manage Expenses (Edit and Delete)

## Screens

![login](https://user-images.githubusercontent.com/12975481/157815086-a010c9e5-321b-466f-a8ce-8e6ea1551748.png)

#### Tech Stack:

- Node.JS
- MongoDB
- Angular

#### Database Structure

![database-structure](https://app.lucidchart.com/publicSegments/view/15abc59b-5ed6-4cdd-a18f-2364474c6ef1/image.png)

#### Libraries used

- Node.JS
- nodemon (For Refreshing Server)
- dotenv (For Handling Environment Variables)
- express (For Express Server)
- cors (For CORS)
- morgan (For Logging)
- jsonwebtoken (For JWT Auth)
- bcryptjs (For Hashing Passwords)
- mongoose (For MongoDB)
- Angular
- bulma (Bulma Framework for CSS)
- bulma-calendar (For Date picker)
- ng-wizi-bulma (Angular Components for Bulma)
- ngx-avatar (For Avatars)

#### Usage

##### Node.JS

- Clone the project
- Navigate to `src/server`
- Run `npm install` to install all dependencies
- Create a `.env` file inside `src/server` with your database configuration. Refer `.env.sample`
- Run `npm run dev` to start the server.

##### Angular

- Clone the project
- Navigate to src/client
- Run `npm install` to install all dependencies
- Run `npm run start` to start the angular app.

#### API Docs

You can find API Docs [here](https://slice-api-docs.netlify.app/)

#### Contributing

##### Contributing is very welcome!.
Clone the project and get started by referring to the Usage guide above!
Follow the Code of Conduct from [here](https://github.com/mtwn105/slice/blob/master/CODE_OF_CONDUCT.md)