Technologies | Features | Getting started | How to contribute | License
This project was developed with the following technologies:
Extras:
- Main Libs
- Style
Create a file upload route that records the path and file name in a table and returns all data from the file.
The user can register meetups on the platform with meetup title, description, location, date and time and image (banner). All fields are required. Also add a user_id field that stores the user ID that organizes the event.
It is not possible to register meetups with dates that have passed.
User can edit all meetup data from meetups that has not yet happened and that is hosted by the user.
User can list meetups that are organized by the logged-in user.
User can delete meetups organized by him that have not yet happened. The delete action remove the meetup from database.
User can subscribe for meetups that he does not organize.
User can not subscribe for meetups that have already happened.
User can not subscribe for the same meetup twice.
User can not join two meetups that happen at the same time.
Whenever a user subscribe for a meetup, an email is sent to host containing the data related to registered user.
User can filter and list meetups by date (not by time), results from that listing are paginated by 10 items per page. Below is an example call to the meetups listing route:
http://localhost:3333/meetups?date=2019-07-01&page=2
In this example, the API will list page 2 of the meetups that will take place on July 1st 2019.
In that list is also returned the organizer data.
User can list the meetups the logged-in user is enrolled in.
Are listed only meetups that have not yet happened and order closer meetups as the first on the list.
User can authenticate using email and password.
User can sign up with name, email and password.
User can list the meetups they organize and click to see details of a meetup.
From this page the user can navigate to meetup creation page.
User can view details of a previously registered meetup.
In this page user can edit information of a meetup or even cancel a meetup.
User can create or edit information about meetups he organizes.
Display the meetup banner image preview when the user selects an image.
Fields are validated.
User can edit your profile.
Fields are validated.
User can authenticate using email and password.
User can sign up with name, email and password.
User can browse meetups by date. This screen use infinite scroll.
From this screen the user can subscribe for a Meetup.
The user can view their meetup subscriptions.
In this screen user can unsubscribe.
The user can edit their profile.
Fields are validated.
These instructions will get you a copy of the full project up and running on your local machine for development and testing purposes.
The project is developed using Git. Git is a free and open source distributed version control system. Download Git.
The project can be built with npm or Yarn, so choose one of the approach bellow in case you don't have any installed on your system.
- npm is distributed with Node.js which means that when you download Node.js, you automatically get npm installed on your computer. Download Node.js.
- Yarn is a package manager built by Facebook Team and seems to be faster than npm in general. Download Yarn.
You can obtain the project by running the instruction bellow on your terminal:
git clone https://github.com/diegomais/meetapp.git
Run the instructions bellow inside packages/api
directory:
npm install
npm run dev
or
yarn install
yarn dev
Run the instructions bellow inside packages/web
directory:
npm install
npm start
or
yarn install
yarn start
Follow the instructions for React Native CLI available in the official React Native Documentation.
Run the instructions bellow inside packages/mobile
directory:
npm install
npm start
or
yarn install
yarn start
- Fork this repository;
- Create a branch with your feature:
git checkout -b my-feature
; - Commit your changes:
git commit -m '[feat](scope) My new feature'
; - Push to your branch:
git push origin my-feature
.
After the merge of your pull request is done, you can delete your branch.
This project is under the MIT license. See the LICENSE for more details.
Made with ❤️ by Diego Mais 👋.