Skip to content

A Lenny Kravitz fan page built in fullstack with react on the client, flask on the server and is connected to an email service using flask-mail. Users can join the mailing list, view all albums and suggest a name and release date for a new album. Subscribers will receive a welcome email and updates of new albums.

Notifications You must be signed in to change notification settings

natbibi/lennykravitz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project: Flask email API and React Client

Description

A Lenny Kravitz fan page built in fullstack with react on the client, flask on the server and is connected to an email service using flask-mail. Users can join the mailing list, view all albums and suggest a name and release date for a new album. Subscribers will receive a welcome email and updates of new albums.

Document

Installation and Usage

  • Clone or download this repo

  • Navigate to root directory of this repository

  • Open the terminal and navigate to the api subdirectory

    • pipenv shell
    • pipenv install
    • pipenv run dev
    • Flask API will be running on port 5000
  • Navigate to the client subdirectory

    • npm install
    • npm run dev
    • The client will open on port 8080

To run API test suite:
pipenv run test

Technologies

  • HTML, CSS, JavaScript, Python

Dependencies:

  • Server: flask, flask-mail, flask-cors, gunicorn

  • Client: axios, react, router-dom, react-router-dom, react-icons

DevDependencies:

  • Server: pytest, pytest-cov

  • Client: babel, react-testing-library, jest

Process

  1. Decide on flow and idea and what is needed for a MVP
  2. Listen to some Lenny Kravitz music!
  3. Create seed data to be used for API
  4. Drive and navigation between collaborators
  5. Start with backend then create a front-end client
  6. Add styling and finalise!

Bugs

  • MailTrap still sending emails during testing

Changelog

React-Client

  1. Set up pages and components
  2. Use axios to set up GET request from API
  3. Implement socket.io client
  4. Styling!

API

  1. Set up server with routes and controllers
  2. Complete GET, POST routes
  3. Test!

Wins & Challenges

Wins

  • Created in one day!
  • Finding MailTrap which is a great way to test emails without using own account

Challenges

  • Testing with flask mail - mail still sending during testing
  • Switching between both Python and JavaScript!

Collaborators

@jameswheadon, @natbibi, @ravil-96

About

A Lenny Kravitz fan page built in fullstack with react on the client, flask on the server and is connected to an email service using flask-mail. Users can join the mailing list, view all albums and suggest a name and release date for a new album. Subscribers will receive a welcome email and updates of new albums.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 49.8%
  • Python 35.2%
  • CSS 12.9%
  • HTML 2.1%